Presentation of media content

ABSTRACT

A media services interface for use in a readable medium playback device enables synchronization of disparate media playback, network directed playback of media, media playback control via displayed html/javascript file, logging of consumer identifier, media identifier, and playback device identifier in a cookie or log file. The media services comprises a command handler, a properties handler, an event generator, a cookie manager, a navigator state module, an identifier engine, an initialization module, and a bookmark manager. The command handler executes commands received from a connected network, a displayed html/javascript file, etc. The properties handler provides information relating to system states in response to queries including the status of any network connections. The event generator generates events in response to predetermined system occurrences. The cookie manager records information for later reading including the tracking of consumer identifier, playback device identifier, and readable medium identifier triples. The navigator state module maintains information regarding the state of the playback device and the interaction with the readable medium. The identifier engine carries out determination of the identity of the readable medium. The initialization module controls system initialization. The bookmark manager generates bookmarks which preserve positions in the playback of the readable medium for later recall. Network sources can provide media content and issue commands which synchronize the playback of both network and readable medium originated content over multiple playback devices through the use of the synchronization abilities of the media services.

The present patent document is a continuation of U.S. patent applicationSer. No. 09/935,756, filed Aug. 21, 2001, now U.S. Pat. No. 7,178,106 ofLamkin, et al, entitled PRESENTATION OF MEDIA CONTENT FROM MULTIPLEMEDIA SOURCES, which is a non-provisional of provisional applicationSer. No. 60/226,758, filed Aug. 21, 2000; and a non-provisional ofprovisional application Ser. No. 60/246,652, filed Nov. 7, 2000; and anon-provisional of provisional application Ser. No. 60/251,965, filedDec. 5, 2000; and a non-provisional of provisional application Ser. No.60/259,075, filed Dec. 29, 2000; and a non-provisional of provisionalapplication Ser. No. 60/302,778, filed Jul. 2, 2001; and acontinuation-in-part of application Ser. No. 09/644,669, filed Aug. 24,2000; now abandoned and a continuation-in-part of application Ser. No.09/649,215, filed Aug. 28, 2000, which is a continuation-in-part ofapplication Ser. No. 09/644,669, filed Aug. 24, 2000, now abandonedwhich is a non-provisional of provisional application Ser. No.60/220,397, filed Jul. 24, 2000; and a continuation-in-part ofapplication Ser. No. 09/295,856, filed Apr. 21, 1999 now abandoned; anda continuation-in-part of application Ser. No. 09/296,202, filed Apr.21, 1999; now abandoned and a continuation-in-part of application Ser.No. 09/296,098, filed Apr. 21, 1999; now U.S. Pat. No. 6,453,420 and acontinuation-in-part of application Ser. No. 09/295,688, filed Apr. 21,1999; now abandoned and a continuation-in-part of application Ser. No.09/295,964, filed Apr. 21, 1999; now U.S. Pat. No. 6,665,489 and acontinuation-in-part of application Ser. No. 09/295,689, filed Apr. 21,1999; now U.S. Pat. No. 6,405,203 and a continuation-in-part ofapplication Ser. No. 09/295,826, filed Apr. 21, 1999; now abandoned anda continuation-in-part of application Ser. No. 09/476,190, filed Jan. 3,2000; now U.S. Pat. No. 6,944,621 and a continuation-in-part ofapplication Ser. No. 09/488,345, filed Jan. 20, 2000; and acontinuation-in-part of application Ser. No. 09/488,337, filed Jan. 20,2000; and a continuation-in-part of application Ser. No. 09/488,143,filed Jan. 20, 2000; now abandoned and a continuation-in-part ofapplication Ser. No. 09/488,613, filed Jan. 20, 2000; now U.S. Pat. No.6,679,130 and a continuation-in-part of application Ser. No. 09/488,155,filed Jan. 20, 2000; now U.S. Pat. 6,941,383 and a continuation-in-partof application Ser. No. 09/489,600, filed Jan. 20, 2000; now U.S. Pat.No. 7,188,193 and a continuation-in-part of application Ser. No.09/488,614, filed Jan. 20, 2000; now abandoned and acontinuation-in-part of application Ser. No. 09/489,601, filed Jan. 20,2000; and a continuation-in-part of application Ser. No. 09/489,597,filed Jan. 20, 2000; and a continuation-in-part of application Ser. No.09/489,596, filed Jan. 20, 2000; and a continuation-in-part ofapplication Ser. No. 09/499,247, filed Feb. 7, 2000; now U.S. Pat. No.6,529,949 and a continuation-in-part of application Ser. No. 09/898,479,filed Jul. 2, 2001, now U.S. Pat. No. 7,346,920 which is anon-provisional of provisional patent application Ser. No. 60/216,822,filed Jul. 7, 2000; and a continuation-in-part of application Ser. No.09/912,079, filed Jul. 24, 2001, now abandoned which is anon-provisional of provisional patent application Ser. No. 60/220,400,filed Jul. 24, 2000.

All of the above-referenced patent documents are hereby expresslyincorporated herein by reference as if set forth in their entirety.

FIELD OF THE INVENTION

The present invention relates to the presentation of multimedia content,and more particularly to the presentation of locally stored mediacontent combined with remote interactively-obtained network mediacontent.

BACKGROUND OF THE INVENTION

In marketing, many things have been long recognized as aiding success,such as increasing customer satisfaction through such devices asproviding personalized service, fast service, access to related orupdated information, etc. Traditional marketing has made use such thingsas notice of promotional offers for related products such as providingcoupons, etc. Additionally, some studies have shown that simple repeatedbrand exposure, such as by advertisement, increases recognition andsales.

One of the largest marketing industries today is the entertainmentindustry and related industries. To date, digital versatile disks (DVDs)are poised to encompass consumer sales of home entertainment, businessand home computer industry, and business information market with asingle digital format, eventually replacing audio CDs, videotapes,laserdiscs, CD-ROMs, and video game cartridges. To this end, DVD haswidespread support from all major electronics companies, all majorcomputer hardware companies, and all major movie and music studios.

Currently, the fastest growing marketing and informational access avenueis the Internet. The share of households with Internet access in theU.S. soared by 58% in two years, rising from 26.2% in December 1998 to41.5% in August 2000 (Source: Falling Through the Net: Toward DigitalInclusion@ by the National Telecommunications and InformationAdministration, October 2000).

Some initial efforts have been made to integrate the success of opticaldisks, such as the DVD, with the speed and accessibility of theInternet. Programs such as music players currently are able to accessthe internet to obtain artist information, order music, etc. forinserted disks. However, in the DVD-video arena, little has been done toutilize the vast power for up-to-date, new, and promotional informationaccessibility to further the aims of improving marketability andcustomer satisfaction.

Accordingly, it is evident that improvements are possible in the waythat entertainment, computing, and academic disks have been supported.

SUMMARY OF THE INVENTION

The present invention advantageously addresses the needs mentionedpreviously as well as other needs by providing an applicationprogramming interface that facilitates the access and use of related orupdated web content to provide augmented or improved content withplayback of DVD content.

In one embodiment, the invention can be characterized as an integratedsystem for combining web content and disk content comprising: a display;a computing device operably coupled to a removable media, a network andthe display, the computing device at least once accessing data on thenetwork, the computing device comprising: a storage device, a browserhaving a presentation engine displaying content on the display, anapplication programming interface residing in the storage device, adecoder at least occasionally processing content received from theremovable media and producing media content substantially suitable fordisplay on the display, and a navigator coupled to the decoder and theapplication programming interface, the navigator facilitating user ornetwork-originated control of the playback of the removable media, thecomputing device receiving network content from the network andcombining the network content with the media content, the presentationengine displaying the combined network content and media content on thedisplay.

In another embodiment, the invention can be characterized as a methodcomprising: a) receiving a removable media; b) checking if saidremovable media supports media source integration; c) checking if saidremovable media source is a DVD responsive to said removable mediasupporting source integration; d) checking whether said device is in amovie mode or a system mode responsive to said removable media being aDVD; e) launching standard playback and thereafter returning to saidstep (a) responsive to said device being in said movie mode; f) checkingif said device has a default player mode of source integration when saiddevice is in said system mode; g) launching standard playback andthereafter returning to said step (a) responsive to said device nothaving a default player mode of source integration; h) checking if saidremovable media contains a device-specific executable program when saiddevice having a default player mode of source integration; i) executingsaid device-specific executable program when said device has saiddevice-specific executable program and thereafter returning to said step(a); j) checking whether said device has a connection to a remote mediasource; k) launching a default file from said removable media when saiddevice does not have a remote media source connection and thereafterreturning to said step (a); l) checking whether said remote media sourcehas content relevant to said removable media; m) displaying saidrelevant content when said relevant content exists and thereafterreturning to said step (a); n) otherwise launching a default file fromsaid removable media and thereafter returning to said step (a); o)returning to said step (f).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a general example of a display device receiving contentfrom local and offsite sources according to one embodiment;

FIG. 2 shows a general example of a computer receiving content fromlocal and offsite sources according to one embodiment;

FIG. 3 shows a general example of a television set-top box receivingcontent from local and offsite sources and according to one embodiment;

FIG. 4 shows a diagram showing the interaction between an embedded webbrowser and a media subsystem according to one embodiment;

FIG. 5 shows an example of media and other content integration accordingto one embodiment;

FIG. 6 shows a general overview of the interaction of the components ofa DVD device according to one embodiment;

FIG. 7 shows one exemplary method for handling disk insertion accordingto one embodiment resulting in the launching of various contents or thedisplay of a logo depending on the outcome of multiple determinations;

FIG. 8 shows a media disk directory structure according to oneembodiment;

FIGS. 9-10 show 2 parts of one exemplary algorithm 900 for handling diskinsertion according to one embodiment resulting in the launching ofdifferent contents depending on disk determinations;

FIG. 11 shows a general exemplary diagram of synchronous viewing ofcontent according to one embodiment;

FIG. 12 shows a depiction of user interaction using a remote control;

FIG. 13 shows a remote control according to an embodiment of the presentinvention;

FIG. 14 shows an example of a computer to Internet connection accordingto one embodiment; and

FIG. 15 shows an example of a bookmark according to one embodiment.

DETAILED DESCRIPTION OF THE DRAWINGS

The following non-patent documents are hereby incorporated by referenceas if set forth in their entirety: InterActual API Design Guidelines forConsumer Electronics Manufacturers; InterActual Application programminginterface (API) Specification (also called InterActual APISpecification).

An application programming interface (API) of the present embodiment isbased on a scripting model, leveraging, e.g., industry standard HTML andJavaScript standards for integrating locally stored media content andremote interactively-obtained network media content, e.g., video contenton a web page. The application programming interface (API) enablesembedding, e.g., video content in web pages and can display the video infull screen or sub window format. Commands can be executed to controlthe playback, search, and overall navigation through the embeddedcontent.

Additionally, the application programming interface can be queriedand/or set by the use of properties. Effects may be applied to playback.Video sequences have an associated time element during playback, andevents are triggered to provide notification of various playbackconditions, such as time changes, title changes, and user operation(UOP) changes. Events can be used for use in scripting and synchronizingvideo with HTML or read only memory (ROM)-based content.

A goal of the application programming interface (API) is to enablecontent developers to create products that seamlessly combine, e.g., theInternet with content from other digital versatile disk-read only memory(DVD-ROM), digital versatile disk-audio (DVD-Audio), and compactdisc-audio (CD-Audio). Hereinafter, by the use of DVD-Video, it is to beunderstood that all three of these disk/disc media are included. Thecombination of the Internet with DVD-Video creates a richer, moreinteractive, and personalized entertainment experience for users.

Further, the application programming interface (API) provides a commonprogramming interface allowing playback of this combined content onmultiple playback platforms simultaneously. While the applicationprogramming interface (API) allows customized content and functionstailored for specific platforms, the primary benefit of the applicationprogramming interface (API) is that content developers can createcontent once for multi-platform playback, without the need of becomingan expert programmer on specific platforms, such as Windows, Macintosh,and other platforms. The document InterActual Usage Guide for Developers(hereby incorporated by reference) describes this in more detail for DVDcontent developers.

Internet connectivity is not a requirement for the use of theapplication programming interface (API). Stand-alone systems with webbrowser functionality are all that is required. In addition, compactdisc-digital audio (CD-DA) can also be enhanced by use of theapplication programming interface (API). This is also described in thedocument InterActual Usage Guide for Developers (hereby incorporated byreference).

Personal video recorders (PVRs), such as the TiVo, RePlay, and digitalversatile disk-recordable (DVD-R) devices, enable the ability topurchase video or audio products by downloading them from a satellite orother high-bandwidth system when implemented with the present invention.When so downloaded, the video or audio can be stored to a local disksystem or burned onto a DVD-R.

The application programming interface (API) provides a basic set ofguidelines for the production of internet-connected DVDs and for theplayback of these enhanced DVDs on a range of computer, set-topplatforms, and players. Based on the industry standard publishing formathypertext markup language (HTML) and JavaScript, the applicationprogramming interface (API) provides a way to easily combine DVD-Video,DVD-Audio, and CD-Audio with and within HTML pages, whereby HTML pagescan control the media's playback. The application programming interface(API) provides a foundation for bringing content developers, consumerelectronics manufacturers, browser manufacturers, and semiconductormanufacturers together to provide common development and playbackplatforms for enhanced DVD content.

Regarding FIG. 1, shown is a general example of a display devicereceiving content from local and offsite sources according to oneembodiment.

Shown are a display device (102), a local content source (104), and anoffsite content source (106).

The display device (102) is coupled to the local content source (104) asshown by a bi-directional arrow. The display device (102) is coupled tothe offsite content source (106) as shown by a bidirectional arrow.

In operation, the display device (102) displays video and/or hypertextmarkup language (HTML) documents to a user. In an alternativeembodiment, the display device (102) can be audio only. Display device(102) can be any device capable of displaying an external video feed orplaying an external audio feed such as, but not limited to, a computer,a set top box, gaming platforms, or a player. The display device (102)receives content for display from either the local content source (104)or the offsite content source (106). The local content source (104), inone embodiment, can be any device capable of playing any media diskincluding, but not limited to, digital versatile disks (DVDs), digitalversatile disk read only memories (DVD-ROMs), compact discs (CDs),compact disc-digital audios (CD-DAs), optical digital versatile disks(optical DVDs), laser disks, DATAPLAY™, streaming media, PVM (Power toCommunicate), etc. The offsite content source (106), in one embodiment,can be any device capable of supplying web content or HTML-encodedcontent such as, but not limited to, a network-connected server or anysource on the Internet.

FIG. 2 shows a general example of a computer receiving content fromlocal and offsite sources according to one embodiment.

Shown are a local content source (104), an offsite content source (106),a computer (202), a microprocessor (204), and a memory (206).

The local content source (104) is coupled to the computer (202). Theoffsite content source (106) is coupled to the computer (202). Thecomputer (202) includes the microprocessor (204) and the memory (206).

In operation, computer (202) is any computer able to play/display bothvideo or audio provided by the local content source (104) and/or web orHTML content as provided by the offsite content source (106).Additionally, computer (202) can display both video and web/HTML contentsynchronously according to one embodiment of the present invention.Microprocessor (204) and memory (206) are used by computer (202) inexecuting software of the present invention.

FIG. 3 shows an example of a general system 300 comprising a televisionset-top box receiving content from local and offsite sources andaccording to one embodiment.

Shown are a local content source (104), an offsite content source (106),a set-top box (302), a microprocessor (304), a memory (306), and atelevision (308).

In operation, set-top box (302) enables selection between video or audioprovided by the local content source (104) and web or HTML content asprovided by the offsite content source (106). The set-top box (302)provides selected content to television (308) for display. Additionally,set-top box (302) can combine both video and web/HTML contentsynchronously according to one embodiment of the present invention andprovide the same to television (308) for display. Microprocessor (304)and memory (306) are used by computer (202) in executing software of thepresent invention.

Referring to FIG. 4, shown is a diagram showing the interaction betweenan embedded web browser and a media subsystem according to oneembodiment.

Shown are a hardware platform (402), an embedded web browser (410), anda media subsystem (420).

The hardware platform (402) executes both the embedded web browser (410)and the media subsystem (420). The embedded web browser (410) is coupledto the media subsystem (424). The media subsystem (420) is a superset ofmedia services including DVD navigator for DVD disc. The media servicesis discussed in greater detail in relation to FIG. 6 later herein. Whenthe media is not disc oriented, the media navigation is carried out byanother component.

In operation, the hardware platform (402) has microprocessor or otherprocessing circuitry (as shown in FIGS. 2-3) executing both the embeddedweb browser (410) and the media subsystem (420). The hardware platform(402) can be any device suitable for the present invention such as, butnot limited to, television set-top boxes, DVD players, computers, etc.

The application programming interface (API) provides a commonprogramming interface for hypertext markup language (HTML) andECMAScript (a standardized script based on JavaScript and the like) forensuring playback of enhanced content on multiple playback platforms.Internet connectivity is not required for the use of the applicationprogramming interface (API) when content originates from disk ROM.

The application programming interface (API) facilitates the playback ofaudio and/or video embedded within a web page. The applicationprogramming interface (API) can play back full-screen video or videowithin a web page window (sub window). Audio and/or video is embeddedwithin a HTML-encoded page by use of an appropriate tag such as, but notlimited to, the object tag (for the Microsoft Windows operating system)and the embed tag (for the Apple Macintosh Liberate operating system).

TABLE 4 Examples of embedding DVD-Video in HTML Operating System ExampleMicrosoft <OBJECT Windowsclassid=clsid:E358A3BE-6E9A-4BD4-93FB-F95FAA72FC01 height=140id=InterActual style=“HEIGHT: 189px; WIDTH: 320px” width=160> </OBJECT>Apple <embed TYPE=‘application/x-itx-plugin’ Macintosh HIDDEN=‘true’Liberate name=‘InterActual’ ALIGN=center HEIGHT=100 WIDTH=200CODEBASE=‘ITXClasses.jar’ TitleSleep=10000 ChapterSleep=10000TimeSleep=10000 PropertySleep=10000 MAYSCRIPT> </embed> Linux TBD OthersTBD

Optionally, on players that support the ATVEF standard, the object couldbe referenced in the following manner:

<object data=“tv:” height=x width=x>

After the DVD-Video object is embedded in the web page, it can beaccessed using any style sheet, link, or scripting language. Values forthe ID string must begin with a letter (A-Z or a-z) and may be followedby any number of letters, digits, hyphens, and periods up to a maximumof 48.

Unlike computers, set-top boxes do not generally have a full-featuredoperating system and browser. Therefore, the capabilities within thebrowser are often more restricted. For embedding DVD-Video within theseplatforms using the application programming interface (API), the“InterActual” indentifier (ID) must be integrated within the embeddedbrowser as any other tag structure. The ID allows the API to beassociated with the HTML object. With this approach, any embeddedbrowser that encounters the “InterActual” tag would automaticallyassociate this identifier with the application programming interface(API).

The embedding of the video object assumes a certain level of W windowhandling:

-   -   Toggling between full screen presentation of HTML and full        screen video    -   Displaying DVD-Video within an HTML frame/window    -   Dynamic resizing of the video window size        -   Note: The application programming interface (API) will play            video full screen down to a 4:1 downscale (180×120 for NTSC            and 180×144 for PAL).

The application programming interface (API) provides interaction withhardware platform (402) by means of commands (or methods), properties,and events. Commands (also called methods) are executed to control theplayback of, search of, and navigation through video and/or audiocontent. The environment can be queried to ascertain the status ofvarious properties. Events are triggered by the occurrence of variousoperating or playback conditions and serve to provide notification ofthese playback conditions. Events are essential for scripting and thesimultaneous presentation of the media content (audio and/or video) withother web assets (such as text, graphics, etc.). Thus, properties arepassive (provided in response to queries) and events are active(provided without queries).

Commands

Commands such as InterActual.PlayTitle, allows the HTML content tocontrol playback of the media. Commands are parsed by the browserpresentation engine (described later in greater detail in reference toFIG. 6) and then passed to the DVD navigator (described later in greaterdetail in reference to FIG. 6) to effect playback.

Properties

Properties allow the HTML content to query for state information of theDVD navigator. An example includes InterActual.TitleNumber. Propertiesare parsed by the presentation engine and passed thereafter to the DVDnavigator. In response, the DVD navigator interprets the query andreturns the requested information.

Events

Events allow the HTML content to receive state information from the DVDnavigator. An example of an event notification would beInterActual.TitleEvent. Events are propagated from the DVD navigator tothe browser presentation engine whenever the requested state changers.The HTML content can subscribe to events using any of the event handlersas described in the application programming interface (API)specification.

FIG. 5 shows an example of media and other content integration accordingto one embodiment.

Shown are a display device (502), a screen (504), a content area (505),and a sub window (508).

The display device (502) contains the screen (504) able to displaygraphics and text. The content area (506) contains the sub window (508)(also referred to as a video window or alternate frame).

An important aspect of this embodiment is that audio and/or video can beintegrated with other content such as text and/or graphics described inweb compatible format (although the source need not be the Internet, butcan be any source such as a disk or server able to deliver thiscontent).

As an example, the sub window (508) displays movie content, such as themovie T2, and the content area (506) displays text and/or graphics(provided by HTML coding) which is topically related to the part of themovie playing in the sub window (508). When the user/viewer interactswith the content in the content area (506), such as by clicking on adisplayed button, effects will be reflected in the media sub window(508). As an example, clicking on buttons or hypertext links indicatingsections or particular points in the movie results in the video playbackjumping to the selected point. Additionally, the media displayed in subwindow (508) can result in changes in the content area (506). As anexample, progression of the movie to a new scene results in a new textdisplay giving information about the scene.

Concurrent Browsing and Video Playback

A primary feature of the application programming interface (API) is theability to view HTML pages while playing video and/or audio content. Theconcurrent playback of browser and video places additional requirementson the processing power and memory of the underlying hardware. Each DVDsemiconductor solution should be designed to perform both of thesefunctions simultaneously. A required feature of the applicationprogramming interface (API) is the ability to display downscaled videowithin a frame of a web page. Additionally, video upscale is anotherfeature of an embodiment as HTML content is already being designed withthe assumption that this capability will be available in future devices.

Storyboard with Scrolling Display

As example of one embodiment is a movie authored with the entirescreenplay provided on the DVD disk in HTML format. When a viewer clickson any screen visually represented in HTML, the system links the viewerto that scene (by use of the command InterActual.SearchTime to go to thespecific location within a title) within the DVD-Video. Besides beingcapable of a finer granularity than the normal chapter navigationprovided on DVD-Video, the HTML-based script can contain other mediasuch as a picture (by use of the command “InterActual.Displaylmage”) orspecial audio (by use of the command “InterActual.SelectAudio”) and/orlive links for other information. Further, the text of the screenplay inHTML could automatically A scroll@ with the DVD-Video to give theappearance of being synchronized with the DVD-Video. Although many ofthese types of features can be authored in DVD-Video (except, of course,live web links and synchronized scrolling), HTML authoring is much moreefficient, immediate, and widely known.

FIG. 6 shows a general overview of the interaction of the components ofa DVD device according to one embodiment.

Shown are a DVD device (602), an embedded web browser (410), apresentation engine (612), a web browser application programminginterface for media services (614), DVD hardware (620), a DVD navigator(622), a media services (628), a DVD decoder (626), and an internet(630).

The DVD device (602) includes both the embedded web browser (410) andthe DVD hardware (620). The embedded web browser (410) includes thepresentation engine (612). The embedded web browser (410) is coupled tothe web browser application programming interface for media services(614) which, in turn, is coupled to the DVD hardware (620). The DVDhardware (620) includes the DVD navigator (622) and the DVD decoder(626). The DVD navigator (622) includes the media services (628). Themedia services (628) is coupled to the DVD decoder (626). The DVD device(602) is coupled to the internet (630). The media services (628)corresponds to the media subsystem (628) but has a more specificimplementation. The media subsystem (628) is a superset of the mediaservices (628) and includes DVD navigator for DVD disc.

With the DVD device (602), the user is able to interact with an enhancedDVD on a television in the same fashion as can be experienced on acomputer. The display area of a television can show video and HTMLcontent concurrently. This is accomplished by the embedded web browser(410) in the DVD player. As discussed herein in reference to FIG. 4, theHTML content can control the playback of the video through embeddedapplication programming interface (API) commands.

The embedded web browser (410) is responsible for displaying the HTMLcontent authored on InterActual-compatible disks, stored locally ondevice (602), or served from a remote server location. The embedded webbrowser (410) also supports concurrent playback of video and audio whilepresenting the HTML page.

Presentation Engine

The presentation engine (612) of the browser must provide for theembedding of video within web pages. Embedding video within web pagesdefines the location where the video is played. This locationinformation is then parsed by the presentation engine and passed to theunderlying video rendering engine.

The presentation engine (612) of the embedded web browser (410) parsesthe HTML instructions for controlling the media playback, generates anygraphic portions of the display, positions a video window when itexists, and also interfaces directly with the underlying DVD Navigator.InterActual-specific instructions are interpreted by the presentationengine (612) and passed to a DVD abstraction layer, which can be part ofthe embedded browser or developed by the DVD navigator manufacturer.This layer serves as an abstraction that makes it possible to map thebrowser into a DVD player-specific DVD navigator developed either by thesemiconductor manufacturer or the player manufacturer. Of course, theDVD Navigator interfaces with the underlying video and audio decoders.

DVD Navigator Abstraction Layer

The web browser application programming interface for media services(614) (or DVD navigator abstraction layer (614)) is a very thininterface layer between the presentation engine (612) and the mediaservices (628).

The DVD Navigator abstraction layer (614) may be developed by the playermanufacturer or the semiconductor manufacturer. To support a flexibleand portable solution, the DVD navigator abstraction layer (614) isrecommended to reside in between the browser (410) and the DVD navigator(622). Abstracting the communication between the browser (410) andnavigator (622) offers a more robust and portable design, so that eitherthe browser or the navigator can be changed in future player designs.

The DVD navigator (622) controls the decoding and playback of media inthe drive.

The media services (628) serves as a middleware layer between webbrowser application programming interface for media services (614) andthe DVD navigator (622). The media services (628) facilitates contentrunning in the embedded web browser (410) to control the DVD navigator(622). The media services (628) allows the DVD navigator (622) to workwith any web browser compliant with the present embodiment.

The DVD decoder (626) interfaces between the DVD media interfacehardware contained in the DVD hardware (620) and the DVD navigator(622).

The Internet (630) is shown as a specific example of the offsite contentsource (106) shown in FIGS. 1-3.

Referring to FIG. 7, shown are the details for the web browserapplication programming interface for media services (414) of FIG. 4.

Shown are an embedded web browser (410), a command handler (with commandAPI) (702), a properties handler (with properties API) (704), an eventgenerator (with event API) (706), a cookie manager (with cookie API)(708), an identifier engine (710), an initialization module (712), anavigator state module (714), a bookmark manager (716), a systemresources (720), a system timer (722), a system monitor (724), a systeminitialization (726) a DVD/CD navigator (422), a user remote control(730), a front panel display module (732), a CD decoder (734), a DVDdecoder (426), an I/O controller (736), a disk (738), a HTML/JavaScriptcontent (740), and an InterActual API (742).

The embedded web browser (410) is coupled to the command handler (whichhas an associated command API) (702) as shown by a bidirectional arrow.The embedded web browser (410) is coupled separately to the propertieshandler (which has an associated properties API) (704), the eventgenerator (which has an associated event API) (706), and the cookiemanager (which has an associated cookie API) (708), all threeconnections shown by an arrow pointing towards the embedded web browser(410).

The command handler (702) is coupled to the bookmark manager (716) shownby a bi-directional arrow. The command handler (702) is coupled to theDVD/CD navigator (422) shown by a bidirectional arrow. The commandhandler (702) is coupled to the navigator state module (714) shown by abi-directional arrow. The command handler (702) is coupled to the systemresources (720) by an arrow pointing to the system resources (720).

The properties handler (704) is coupled separately to the bookmarkmanager (716) and the identifier engine (710), both shown by an arrowpointing to the properties handler (704). The properties handler (704)is coupled the event generator (706) by a bi-directional arrow.

The event generator (706) is coupled to the navigator state module (714)shown by a bi-directional arrow. The event generator (706) is coupled tothe system timer (722) shown by an arrow pointing to the event generator(706). The event generator (706) is coupled to the cookie manager (708)by an arrow pointing to the cookie manager (708).

The cookie manager (708) is coupled to the identifier engine (710) shownby a bi-directional arrow.

The identifier engine (710) is coupled to the I/O controller (736) by anarrow pointing towards the identifier engine (710) and to the navigatorstate module (714) by a bi-directional arrow.

The initialization module (712) is coupled to the system initialization(726) by an arrow pointing towards the initialization module (712). Theinitialization module (712) is coupled to the navigator state module(714) by an arrow pointing to the navigator state module (714).

The navigator state module (714) is also coupled separately to thebookmark manager (716) and the DVD/CD navigator (422) by bi-directionalarrows.

The DVD/CD navigator (422) is coupled to the user remote control (730)by an arrow pointing to the DVD/CD navigator (422). The DVD/CD navigator(422) is coupled to the front panel display module (732) by an arrowpointing to the front panel display module (732). The DVD/CD navigator(422) is coupled to the DVD decoder (426) by a bi-directional arrow.

The I/O controller (736) is coupled separately to both the DVD decoder(426) and the CD decoder (734) by arrows pointing away from the I/Ocontroller (736). The I/O controller (736) is coupled to the disk (738)by an arrow pointing to the disk (738).

The disk (738) is coupled to the HTML/JavaScript content (740) by anarrow pointing to the HTML/JavaScript content (740).

The HTML/JavaScript content (740) is coupled to the Applicationprogramming interface (API) (742) by an arrow pointing to theApplication programming interface (API) (742).

In operation, the embedded web browser (410) receives HTML/JavaScriptcontent from disk (738) which is displayed by presentation engine (612).The embedded web browser (410) originates commands (as a result of userinteraction which can be via the remote in set-top systems, the keyboardor mouse in computing systems, the game interface in gaming systems,etc.), which are sent to the command handler (702) by way of the commandAPI. The embedded web browser (410) also receives commands from thecommand handler (702) by way of the command API. An example of such acommand is InterActual.FullScreen(w). The embedded web browser (410)also receives cookies from the cookie manager (708) via the cookie API,generally in response to the accessing of an Internet website. Theembedded web browser (410) also receives events (notifications) each ofwhich is a notification that a respective defined event (generallyrelated to media playback) has occurred. These events are generated bythe event generator (706) and sent via the event API. The embedded webbrowser (410) also queries properties from the properties handler (704)via the properties API. Properties are received in response to inquiriesgenerated by the embedded web browser (410).

The command handler (702) controls the DVD/CD navigator (422) includingstarting and stopping playback, changing audio streams, and displayingsub-pictures from JavaScript, among many things. The command handler(702) provides live web content for non-InterActive disks when an activeInternet connection is present through such commands asInterActual.NetConnect( ) and InterActual.NetDisconnect( ). The commandhandler (702) commands the bookmark manager (716) through such commandsas InterActual.GotoBookmark( ) and InterActual.SaveBookmark( ). Thecommand handler (702) also interacts with the navigator state module(714) generally regarding user interaction. The Navigator state module(714) keeps the current state of the system and receives it directlyfrom the decoder (or maps directly into it). When the bookmark manager(716) is going to save a bookmark and needs to know the current title,the bookmark manager (716) receives it from the navigator state module(714) and places it in a bookmark and returns it to the command handlerto allow it to provide a return value to the InterActual.SaveBookmarkcommand.

The properties handler (704) provides the embedded web browser (410)with the ability to interrogate the navigator state module (714) for theDVD/CD navigator (422) state which includes the properties (alsoreferred to as attributes) of the elapsed time of the current title, thedisk type, and the disk region, among others. The properties handler(704) maintains knowledge of system attributes. The Event Generatormonitors these attributes and triggers and event when one is changed.

The event generator (706) provides notification to the DVD/CD navigator(422) of events such as a change of title or chapter with web content(based on DVD time codes and the system time from the system timer(722)). The event generator (706) notifies the properties handler (704)of event triggerings which are of interest to the properties handler(704). The event generator (706) also provides events to the cookiemanager (708) such as relate to the accessing of web pages, diskinsertion, and disk ejection events.

The cookie manager (708) interacts with the identifier engine (710) toprovide the ability to save information regarding the disk, platform,current user, and the application programming interface (API) version inlocal storage.

The identifier engine (710) provides the ability to generate a uniqueidentifier for the media which enables the DVD ROM content (HTML andJavaScript from the disk) to carry out platform validation to ensure acertified device is present. The identifier engine (710) provides theability to serialize each disk by reading and processing the informationcoded in the burst code area (BCA) of the disk. The BCA is read by theidentifier engine (710) and stored in the navigator state module (714).Hence commands such as InterActual.GetBCAField( ) can get the BCAinformation from the navigator state module (714) after insertion of adisc. This BCA information provides the ability to uniquely identifyeach disk by serial number. Conditional access to content, usagetracking, and other marketing techniques are implemented thereby. Theidentifier engine (710) gets the BCA information for the serialidentifier (SerialID), hashes the video .IFO file to identify the title(called the MediaID), and then reads the ROM information to establish adata identifier (DataID) for the HTML/JavaScript data on the disc. Theidentifier engine (710) provides this information to the navigator statemodule (714) which stores this information and provides it to whicheverof the command handler (702), properties handler (704), or eventgenerator (706) needs it. The identifier engine (710) interacts with thenavigator state module. The identifier engine (710) receives the BCAinformation (read differently than files) from the I/O controller (736).The identifier engine (710) interacts with the cookie manager (708) toplace disc related information read from the BCA as discussed previouslyherein into the InterActual System cookie.

The initialization module (712) provides the ability to establish theDVD/CD navigator environment. The initialization module (712) allows theinternal states and the State Modules (i.e. the navigator state module(714)) to be initialized. This initialization also includes reading thecurrent disc in the drive and initializing a system cookie. It is notedthat the embedded web browser (410) interfaces which allow registering acallback for the event handler are established at power-up as well.

The navigator state module (714) provides the ability to coordinate userinteraction and DVD behavior with front panel controls and/or a remotecontrol. In one embodiment, arbitration of control happens in thenavigator (422) itself between the remote and front panel controls.DVD/CD navigator (722) playback is initiated by the navigator statemodule (714) in response to input from the initialization module (712).The navigator state module (714) receives locations of book markedpoints in the video playback from the bookmark manager (716) andcontrols the DVD/CD navigator (422) accordingly.

The bookmark manager (716) provides the ability for the JavaScriptcontent to mark spots in video playback, and to return later to the samespot along with the saved parameters which include angle, sub-picture,audio language, and so forth. The bookmark manager (716) provides theability to use video bookmarks in conjunction with web bookmarks. As anexample, a video bookmark is set, a web session is launched going to apreset web book marked source to retrieve video-related information,then later a return to the video at the book marked spot occurs.

The system timer (722) provides time stamps to the event generator (706)for use in determining events for synchronization or controlledplayback.

The system monitor (724) interacts with the properties handler (704). Inone embodiment, the system generates a 900 millisecond timer tick as anevent which the HTML/JavaScript uses in updating the appropriate timedisplays as is needed. For systems that do not have a DVD Navigator thatcreates events the timer is used to poll the property values every 900milliseconds and compares the poll results with a previous result. Ifthe result changes then an event is generated to the HTML/JavaScript.

The system initialization (726) provides initialization control wheneverthe system is turned on or reset.

The DVD decoder (427) generally receives the media stream from the I/Ocontroller (736) and decodes the media stream into video and audiosignals for output. The DVD decoder (426) receives control from DVD/CDnavigator (422).

The CD-DA decoder (734) receives a media stream from I/O controller(736) and decodes it into audio which it provides as output.

The I/O controller (736) interfaces with disk (738) and controls itsphysical movement, playback, and provides the raw output to theappropriate decoder. The I/O controller (736) also provides disk stateinformation to identifier engine (710).

The disk (738) can be any media disk such as, but not limited to,DVD-ROM, DVD-Audio, DVD-Video, CD-ROM, CD-Audio.

Referring to FIG. 8, shown is a media disk directory structure accordingto one embodiment.

Shown are a disk (802), a /ROOT directory (804), a /COMMON directory(806), a /MAC directory (808), a/WIN directory (810), a/NUON directory(812), and a/SONY directory (814).

The disk (802) includes each of the directories listed: the /ROOTdirectory (804), the /COMMON directory (806), the /MAC directory (808),the /WIN directory (810), the /NUON directory (812), and the /SONYdirectory (814).

In one embodiment, the application programming interface (API) uses thefile structure depicted in FIG. 8 to access platform-specific binaries.Platforms for which directories are defined include the /MAC (Macintoshoperating system), /NUON (VM labs, NUON technology), /SONY (Sonyplaystation), /WIN (Microsoft Windows operating systems). Otherdirectories are allowed and can be used when desired, such as /LINUX(for the LINUX operating system), /NINTENDO (Nintendo Dolphin), /SEGA(Sega Dreamcast), and /XBOX (Microsoft X-Box).

The directory structure allows for proprietary executable binary filesfor each platform. The platform-specific directory structure and itsassociated set of binaries enable any platform to run executablesspecifically designed for that platform. This capability, in essence,allows the platform-specific binaries to override the general purposecontent, or override the standard browser mechanism. While actual ROMcontent may reside in a platform directory, in one embodiment, all ROMcontent resides in the /COMMON directory (806) when possible. The/COMMON directory (806) can support any number of subdirectoriesincluding platform-specific directories.

The /COMMON directory (806) and platform-specific directories arestandardized, however, each platform developer is free to create theirown subdirectory structure under their reserved platform-specificdirectory. As example, Sony may create PS2 and PS3 subdirectories underthe /SONY directory (814).

The /COMMON directory (806) stores the actual ROM content (as opposed toplatform-specific binaries). It is recommended that all ROM content,including platform-specific ROM content, reside in this directory asthis facilitates an intuitive content development approach and providesan easy way for JavaScript to be used to detect platforms and render theappropriate HTML pages tailored to specific platforms when required.

Even if platform-specific binaries are included on the disk, the generalpurpose content can still be called. In one embodiment, a DVD utilizesthe directory structure by placing the Windows version of software inthe /WIN directory, the Macintosh version of PCFriendly in the /MACdirectory (808), and so forth. Upon insertion of the disk, whicheverplatform the disk has been inserted into will execute the appropriatebinaries (found in that platform's directory and autorun), and thesebinaries thereafter load the INDEX.HTM file located in the /COMMONdirectory (806), which is the starting point for any general-purposeInterActual-compatible disk. The meta-data tag in the head section ofthe INDEX.HTM file, in one embodiment, contains the Applicationprogramming interface (API) version information. The INDEX.HTM fileserves as a background container web page during standard playback thatallows JavaScript event handlers to be loaded and activated to handlebutton events during playback. JavaScript can be used to detectplatforms and render the appropriate HTML pages customized for thoseplatforms.

The specifications for DVD-video and DVD-audio require that each diskcontain specific directories and files. As example, DVD-video files arecontained in a directory named VIDEO_TS and DVD-audio files arecontained in a directory named AUDIO_TS. There is no such requirementfor DVD-ROM, so developers can arrange files in any desired manner.

Files stored for use with InterActual-compatible disks can be in any DVDdisc directory. In the case where no platform-specific executable fileexists, there must be a method which allows the browser and/or playbackengine to identify the initial HTML file.

During disk creation, DVD-video zone files must be placed physically atthe beginning of the disk, contiguously, in the order specified by theDVD-video specification. Likewise, DVD-audio zone files must follow theDVD-video files in contiguous order.

In one embodiment, the VIDEO_TS and AUDIO_TS directories are the firstentries in the directory descriptor. In one embodiment, the ROM zonefiles are placed in subdirectories rather than the /ROOT directory.

The placement of files on a dual-layer disk (DVD-9, DVD-14, or DVD-18)is generally independent of the layer details. DVD-video and DVD-audiofiles must begin on layer 0. ROM zone files are placed at the end,beginning on whichever layer the DVD-video (or DVD-audio) files end on,and can cross the layer boundary if needed.

DVD authoring systems and tools support different naming capabilitiessuch as UDF, ISO-9660, ISO-9660 with Joliet extensions, Macintosh filenames, Macintosh resources, hybrid disks, etc. Some authoring systemsforce a certain character capitalization (such as all capitals).

The disk insertion flow of FIG. 8 is commonly described in terms ofphases.

The first phase is InterActual disk detection where the disk is checkedto determine if it has InterActual content. This is done by seeking theINDEX.HTM file in the /COMMON directory on the disk. If the INDEX.HTMfile exists, then the DVD is compatible with the present embodiment,otherwise, it is not.

The second phase is disk type detection where the disk is checked todetermine if it is a DVD-Video, DVD-Audio, or CD-DA disk.

The third phase is player mode detection where the device is checked todetermine the default playback mode for the system. This is done byreading the player mode by the properties query InterActual.PlayerMode.When the device is configured for play mode, content in accordance withthe present embodiment, in one embodiment, is bypassed.

If the default playback mode for the device is “InterActual” mode, thencontent in accordance with the present embodiment is launched beginningwith /COMMON/INDEX.HTM. The content itself can be updated dynamically ifthere is an active Internet connection. When there is no active Internetconnection, the device will render the content from the disk ROM.

For disks not in accordance with the present embodiment in players witha default playback mode of “InterActual,” the default content homepage(CONNECT.HTM) is rendered and an Internet connection is attempted topotentially provide web content.

The fourth phase is platform-specific file detection where directorieson the disk are checked to determine if any platform-specific files arelocated. This is done by searching for the appropriate file structuresfor the device.

The fifth phase is internet connection determination where the device ischecked to see whether an Internet connection is active or possible. Thesystem can access and updated content files for the current title ofdisks in accordance with the present embodiment. For non-enhancedtitles, the system will look online to see if there is any contentavailable for the current title. If there is such content, the systemcan offer the same interactive experience as a title in accordance withthe present embodiment affords.

When the device is in player mode play, a disk in accordance with thepresent embodiment can display a logo to signify that there is contentin accordance with the prtesent embodiment available from the disk ROM.

Referring to FIG. 9, shown is part ½ of one exemplary algorithm 900 forhandling disk insertion according to one embodiment resulting in thelaunching of different contents depending on disk determinations.

Algorithm 900 begins when a user inserts a media disk into a device at“insert disk” block (902) and determines if the inserted disk is a DVDor music CD in accordance with the present embodiment block (904).

When the determination (block 904) is that the inserted disk is not adisk in accordance with the present embodiment, the algorithm (900)continues through connector A (906) to the corresponding connector A inFIG. 10.

When the determination (block 904) is that the inserted disk is a diskin accordance with the present embodiment, the determination is nextmade whether the disk is a DVD (block 908).

If the result of the determination of block 908 is that the disk is aDVD, a check is made whether the author mode is movie mode or systemmode (block 910). If the author mode is movie mode, standard DVDplayback is initiated (block 914). If the author mode is system mode,the determination is made whether the default player mode is“InterActual” (block 912). If it is not, the algorithm (900) launchesstandard DVD playback (block 914). If it is, the determination is madewhether platform specific binaries exist for the current platform (block916), and if so, platform specific binaries are launched (block 918). Ifno platform-specific binaries are found, the determination is madewhether there is an active Internet connection (block 920), and if not,the file INDEX.HTM is launched from the DVD (block 922). If there is anactive Internet connection, a check is made for web content for thecurrent title (block 924), and if there is content for the current titleit is displayed (block 926).

If the result of the decision at block 908 is that the disk is not aDVD, the determination is next made whether the default player mode is“InterActual” (block 930) and if not, CD standard playback is launched(block 932). If the default player mode is “InterActual,” a check ismade for any platform-specific binaries (block 934) and if any arepresent, the platform-specific binaries are launched (block 936). Ifthere are no platform-specific binaries, a check is made whether thereis an active Internet connection (block 938) and if not, INDEX.HTML islaunched from the CD-ROM (block 940). If there is an active Internetconnection, a check is made for web content for the current title, andif there is any, it is displayed (block 944). If there is no web contentfor the current title, INDEX.HTML is launched from the CD-ROM (block940).

Identifying InterActual-Compatible Discs

A disc in accordance with the present embodiment is detected by checkingfor the existence of the /COMMON/INDEX.HTM file. The applicationprogramming interface (API) version information can be found in themeta-data area of the HTML file.

Referring to FIG. 10, shown is part 2/2 of the exemplary algorithm 900for handling disk insertion according to one embodiment resulting in thelaunching of different contents depending on disk determinations.

Algorithm 900 continues from connector A (connector 906) in FIG. 9 andbegins at connector A (connector 1002) in FIG. 10. A determination ismade whether the disk is a DVD (block 1004) and if the disk is a DVD, acheck is made whether the default player mode is InterActual (block1006). If the default mode is not “InterActual,” standard DVD playbackis launched (block 1008). If the default playback mode is “InterActual,”then DEFAULT.HTM is launched from memory (block 1014).

If the disk is determined to not be a DVD (block 1004), a check is madewhether the default player mode is “InterActual” (block 1010) and if itis not, standard playback is launched (block 1012). If the defaultplayer mode is “InterActual” (block 1010), DEFAULT.HTM is launched frommemory (block 1014). After launching DEFAULT.HTM, a check is madewhether an active Internet connection exists (block 1016) and if not,standard playback is launched (block 1018). If an active Internetconnection exists, a check is made for online content for the currenttitle (block 1020). If no online content is found for the current title,standard playback is initiated (block 1018). If online content for thecurrent title is found, the online content found is displayed (block1022).

FIG. 11 shows a general exemplary diagram of synchronous viewing ofcontent according to one embodiment.

Shown are a server (1102), an Internet (1104), an InterActive device(1106), and an InterActive device 2 (1108).

The server (1102) is coupled to the Internet (1104) shown by abidirectional arrow. The Internet (1104) is coupled separately to boththe interactive device (1106) and the interactive device 2 (1108) shownby bi-directional arrows.

DVDs can be used for multiple user synchronous use. Generally, this isdone by having a prearranged time for an event (such information couldbe programmed on the disk or provided to users from online contentaccessed via the disk) at which time interested users connect to aprearranged website by use of the appropriate disk. The network site cancontrol all connected devices by sending commands such as play, pause,fast forward, etc. By this manner, content resident on the disks as wellas live web-originated content can be synchronously interwoven for anynumber of connected users simultaneously. With the server being coupledto the interactive devices the server can send commands to these devicesfor remotely controlling content stored on local interactive devicesconnected to a network system, such as the Internet. First, theinteractive devices begin with the same interactive content, such as aDVD-Video disk. The interactive devices and a server are adapted to beconnected to a network. In operation, information is transmitted fromthe server to the interactive devices that begin playback of theinteractive content utilizing the network. Each interactive devicereceives the command at the same time and thus the commands andtherefore the content are synchronized at start of playback. If theinteractive devices support different commands such as a playing at agiven time or only playing at a given chapter the server must utilizethe supported features for the interactive device and send out only thesupported commands to the interactive devices. This allows for thesimultaneous playback of the event on each of the client apparatuses.Late synchronization can be achieved by a similar method by sending acommand from the server to the interactive devices of the current timeposition the DVD-Video is playing. For those interactive devices thatonly support chapter commands the server must wait until the nextchapter change to send the command to the interactive device tosynchronize with the other interactive devices currently viewing theDVD-Video. Furthermore, This allows content such as DVD Video content tobe locked so that play can only be accomplished through verification ofinteractive devices identity and also allows augmentation andsupplementation of the content provided by the video from a remoteserver. Upon verification of a interactive device's credentials, thelocally stored content can be supplemented with additional contentdelivered over the network system. This is achieved by using precisecommand sequences from the server to the interactive devices that unlockthe local DVD-Video for example.

Network Controlled Synchronization

DVDs can be used for multiple user synchronous use. Generally, this isdone by having a prearranged time for an event (such information couldbe programmed on the disk or provided to users from online contentaccessed via the disk) at which time interested users connect to aprearranged website by use of the appropriate disk. The network site cancontrol all connected devices by sending commands such as play, pause,fast forward, etc. By this manner, content resident on the disks as wellas live web-originated content can be synchronously interwoven for anynumber of connected users simultaneously.

Referring to FIG. 12, shown is a depiction of user interaction using aremote control.

Shown are a “view button pressed” block (1202), a web view (1204), acontent view (1206), an InterActual mode (1208), and a full-screen mode(1210).

A user has two views between which he or she can switch, one being fromthe world wide web (WWW) and the other being from the disk content.Users accessing a display device (102) by remote control has, in oneembodiment, access to both views (or “worlds”) at any time through the“view” button. Additionally, in one embodiment, a graphics subsystem cansupport this by having two graphic “planes,” one for each view. Byhaving a separate disk content view, the content owner can control thepresentation of information (scripts, pictures, videos, etc.). This aidsin merchandising of the content.

In the example of FIG. 12, by use of a remote control view button at“view button pressed” block (1202), the user can select either the webview (1204) or the content view (1206). The content view (1206) is theINDEX.HTM file (residing in the /COMMON directory on a disk) which is across-platform (or multi-platform) file designed to be viewable onsubstantially all of the supported platforms. Alternatively, the contentview (1206) is the CONNECT.HTM file from the storage of the device (usedin lieu of the INDEX.HTM, for example, when no disk is inserted, or whena disk not in accordance with the present embodiment is inserted).

The web view (1204) is the InterActual-compatible device's “home page.”This page is under the control of the device manufacturer. As anexample, this page may contain the manufacturer's logo and/or system(device) specific information. Alternatively, this page may bedetermined by user-controlled settings of the device.

The content view (1206) is the content “home page” and resides at/COMMON/INDEX.HTM (on a disk) or as CONNECT.HTM in the device's memory(e.g. flash ROM). Depending on the player mode of the device, thecontent view (1206) can default to either “InterActual” mode (1208) orfull-screen mode (1210).

When a disk contains “InterActual” content, the content authors cancreate it such that the user experience begins with the “InterActual”content. This is an option available to the disk authors at the time ofauthoring.

Referring to FIG. 13, shown is a remote control according to anembodiment of the present invention.

Shown is a remote control (1300), having a back button (1302), a viewbutton (1304), a home button (1306), an IA (InterActual) button (1308),a stop button (1310), a next button (1312), a prev button (1314), a playbutton (1316), an up button (1318), a left button (1320), a right button(1322), and a down button (1324).

The back button (1302) has different uses. In an Internet view, the backbutton (1302) goes back to the previously-visited web page. In a content(from disk) view, the back button (1302) goes back to the last web pageor video/web page combination which was viewed.

The view button (1304) switches between a full-screen Internet (or web)view to a full-screen content (from disk) view.

The home button (1306) has different uses. In an Internet view, the homebutton (1306) goes to the device=s home page which, as example, could bethe manufacturers page or a user-specified page if changed by the user.In a content (from disk) view, the home button (1306) goes to thecontent home page which, as example, could be INDEX.HTM from the diskROM or CONNECT.HTM from the flash system memory.

The IA button (1308), or “InterActual” button, is a dedicated buttonwhich is discussed in greater detail under the subheading “contextsensitive application” later herein in reference to FIG. 13.

The playback buttons, stop (1310), next (1312), prev (previous) (1314),and play (1316), control the video whenever there is video beingdisplayed (either in full-screen mode or in a window). If no video isbeing displayed, pressing of the play button (1316), in one embodiment,loads a special page VIDPLAY.HTM if it is present in the /COMMONdirectory of an inserted disk ROM. If the VIDPLAY.HTM file is not found,pressing of the play button (1316), in one embodiment, plays the DVD infull-screen video mode.

The navigation buttons, up (1318), left (1320), right (1322), and down(1324), in one embodiment, do not work for DVD navigation unless videois playing in full-screen mode. If video is playing in a window within aweb page, these buttons enable navigation of the web page, especiallyuseful for navigating to and selecting HTML hyperlinks. In thisembodiment, the windowed video will be a selectable hyperlink as well.Selecting the video window (by an enter button not shown) causes it tochange to full-screen video. In another embodiment, a mouse or otherpointing device such as a trackball, hand glove, pen, or the like can beintegrated with the system.

Context Sensitive Application

In one embodiment, use of a unique event and a special button on theremote control (1300), a specific section in the media can trigger acontext-sensitive action. Events that are used for this purpose arecontext sensitive to the media content. As example, an event can triggerduring a certain scene, upon which, in response to a user's selection ofan object within the scene can display information relating to theselected object.

In one embodiment, when media content subscribes to a particular eventfor context sensitive interaction, which can be done on a chapter ortime basis, the DVD navigator can optionally overlay transparently someplace on the display alerting the user that context-sensitiveinteraction is available. Similar to when a network logo istransparently displayed at the bottom of a television screen, in oneembodiment, an InterActual logo is displayed to signify there is moreinfo available for the displayed scene, and so forth. This ability isimplemented through the media services (420) and the graphical subsystemof the DVD navigator (622).

Regarding FIG. 14, shown is an example of a computer to Internetconnection according to one embodiment.

Shown are a server 1402, an Internet 1404, a cookie 1406, and a computer1408.

The server 1402 is coupled to the Internet 1404. The Internet (1404) iscoupled to the computer (1408) with the cookie (1406) shown beingcommunicated along the connection between the computer (1408) and theInternet (1404).

In operation, a user causes computer (1408) to access a web pageresident on the server (1402) via the connections through the Internet.In so doing, the website containing the accessed web page causes thecookie (1406) to be sent to the computer (1408) and stored on a localstorage drive for later reference by the storing website.

A cookie is information that a web site (server side program) puts on aclient's computer or permanent storage so that information is retainedfrom browsing session to browsing session (or later use in the samesession). Typically, a cookie records user-specific information such aspast user choices during interaction with the web site. Cookies areuseful because the nature of the hypertext transfer protocol (HTTP) usedby the World Wide Web (WWW) is that each web page request is completelyindependent of all other requests. Thus a cookie is a mechanism whichallows a web site to retain access to past interaction history withparticular clients.

The embedded browser supports two types of cookies, system cookies andgeneral-purpose cookies. System cookies are predefined in both name andsize as part of the Application programming interface (API). Systemcookies are automatically created and modified by the player hardwareand embedded browser. General-purpose cookies are cookies that can beplaced by web pages. Both system cookies and general-purpose cookies maybe volatile or non-volatile (maintained even if storing system ispowered off) depending on their specific function.

The following cookies are supported by the application programminginterface (API):

Platform cookie, a non-volatile cookie of 32 bytes length that containsunique hardware information, including a hardware identifier for thedevice.

UserID cookie, a non-volatile cookie of 32 bytes length that containsunique user login information (useful for multi-user households).

An application programming language version cookie, a non-volatilecookie of 32 byte in length which maintains version information for thesupported levels of the application programming interface (API).

Player Mode cookie, a non-volatile cookie of 32 bytes length whichmaintains the default player mode for the Application programminginterface (API) playback, movie mode, or InterActual mode.

Disk cookie, a volatile cookie of 214 bytes length which containscurrently inserted disk information including a unique ID generated bylocal hardware based on hashing algorithm provided by InterActual and(2) the id field from PCFreindly titles (based on the file DISC.ID)provided the disk is a PCFreindly (PCF) disk. This cookie is generatedwith null content when no disk is currently in the drive.

The application programming interface (API) also provides for a minimumof 100 general-purpose cookies that can be used by general web sites.Each of these cookies can be up to 200 bytes in size, therefore theminimum storage requirement for cookies is determined as follows:

4 reserved 32 byte system cookies=128 bytes

1 reserved 214 byte system cookie=214 bytes

100 general-purpose cookies of 200 bytes=20,000 bytes

Thus total cookie storage is a minimum of 20,342 bytes.

Referring to FIG. 15, shown is an example of a bookmark according to oneembodiment.

Shown are a video (1504), a bookmark (1504), and a screen image (1506).

In operation, bookmark (1504) records the necessary information toreturn to the same point in the video playback of video (1502) byrecording the title number, time position, chapter, angle, sub picture,and language.

Bookmarks maintain the state of player by storing general parameterregisters (GPRMs) for a specific title. Video bookmarks mark where thevideo player state was last. For the application programming interface(API), one bookmark per title is required. In one embodiment, 32bookmarks are recommended.

A bookmark has a minimum size of 10 bytes. There is at least onebookmark per disk. These bookmarks are managed in a queue such thatcreating a new bookmark for a specific disk (using the disk cookie) willoverwrite the last bookmark in the queue for that disk provided thequeue is full. If a new disk is encountered, the oldest bookmark of theset is overwritten. In one embodiment, a capacity of 32 bookmarks isrequired, which requires a minimum of 320 bytes of persistent storage.

A more detailed treatment of bookmarks and the bookmark queue ispresented in Application programming interface (API) Specification@(hereby incorporated by reference).

Bookmark structure is described in table 1.

TABLE 1 byte offset field name description data type 0 TitleNumbernumber of title (1-99) signed byte 1-5 ElapsedTime time in elapsedmilliseconds signed 4 byte from start (0 to 2{circumflex over ( )}31− 1) 6 Chapter Chapter (1-99) signed byte 7 Angle Angle (1-9) signedbyte 8 sub picture Sub picture (0-31) signed byte 9 AudioLang AudioLanguage (1-99) signed byte

Content Caching

In an embodiment, one megabyte (1 MB) of cached simultaneous content isrecommended. In an embodiment, the cache size should be specified in thehypertext transfer protocol (HTTP) header sent between the player andattached servers. Larger local storage for caching web pages and thelike can be used with the present invention.

Content Support

In one embodiment, the Application programming interface (API) contentsupport for fully compatible InterActual-compliant devices is defined inthe two areas of content format support and content type support asfollows:

Content Format Support

Content format support, according to one embodiment of the presentinvention, includes hypertext transfer protocol (HTTP) version 1.0,hypertext markup language (HTML) version 4.0 (frames, tables, eventhandler extensions), (CSS) version 1, (DOM) version 0, ECMAScriptversion 1.1 (note ECMAScript and DOM 0 is equivalent to JavaScriptversion 1.1. Requires platform and language detection), (SSL) version2.0, Application programming interface (API) version 1.0 (embedding,commands, properties, and events), cookies (used to store hardwareplatform information and essential disk identification information).

Content Type Support

Mandatory content type support includes MPEG1 and MPEG2 video files,WAV, AU, AIFF, and MP3 audio files, GIF, JPEG, and PNG graphics files

Advanced Format Support

The advanced format support is not required for a standardimplementation. Advanced formats include, but are not limited to,Macromedia Flash (this is encouraged as Flash is very popular for studioDVDs), extensible markup language (XML), Chat, and streaming media suchas MPEG4, Real Player, and Quicktime. With the advent of modern andother advanced Internet connectivity solutions, more additions to theadvance format capabilities will be made.

More Complex Menu Structures

A DVD-Video is shipped with a simple HTML page that does little exceptstart a movie. However, it also checks to see if that movie has any website updates. If it does, then it launches a new movie menu that isdownloaded from the web. Obviously, the downloaded menu can be designedmuch later than the DVD. The menu may have e-commerce opportunities,such as promoting gifts for purchase, tickets for the sequel to themovie on the DVD, etc. The window of time of these opportunities isdecided by the content owner and is completely independent of the DVD.The menu can have links to actors/actresses featured in the DVD.Additionally, the menu can provide options to navigate the DVD withfiner granularity than the original chapters on the DVD provide.

Special Coupon from Retailer

DVDs authored with different logos at the head (such as logos for BestBuy, Circuit City, or the like) can be used for advertising purposes.For example, the disk start-up can be specified to display the logo ofthe original retailer and the consumer can be directed to access theretailer's website for promotional advertisements. This can beaccomplished by checking the burst cutting area (BCA) on the disk whichwould indicate the identity of the retailer.

InterActual Application Programming Interface

Following is presented an exemplary list of the commands, properties,and events for several embodiments of the InterActual ProgrammingInterface. This list is presented as follows:

-   -   A The DVD-Video and CD-Digital Programming Interface

A.1 Commands A.2 Properties A.3 Events A.4 Interface Applicability

-   -   B The DVD-Audio Specific Interface

B.1 Commands B.2 Properties B.3 Events

-   -   C Advanced InterActual API

C.1 Commands C.2 Properties C.3 EventsA The DVD-Video and CD-Digital Programming Interface

A.1 Commands

Commands will control the playback and navigation mechanisms of aDVD-Video/Audio or CD-DA disc. Commands can be used by the callingapplication (HTMUJavaScript) to initiate these functions. This sectionprovides a detailed description of each InterActual command with itsassociated parameters.

-   -   1) All commands support return values. These will all be        JavaScript numbers, however the underlying API implementation        should set a signed 4-byte (32-bit) value for each of these.    -   2) Each command lists applicable return values.    -   3) A “−3” will be returned for commands not supported by a        specific system or navigator.

A.1.1 InterActual.Play( )

-   -   Summary        -   Starts playback of the DVD.    -   Parameters:        -   None required    -   Example        -   This command controls playback of the video.        -   InterActual.Play( )    -   Notes:        -   For DVD Video this command starts playing from the First            Play PGC. See also: InterActual.PlayTitle(t);        -   InterActual.PlayChapter(t,c);            InterActual.PlayTime(t,h,m,s,x)    -   Media Supported:

DVD Video DVD Audio CD Audio x x x

-   -   Return Values:

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.2 InterActual.PlayTitle(t)

-   -   Summary        -   Start playback at the specified title number.    -   Parameters:

t Title number ranging from 1-99; signed 1 byte integer

-   -   Example        -   Play title number 3.        -   InterActual.PlayTitle(3)    -   Notes:        -   This command requires that the UOP2 operation is permitted.    -   See also:        -   InterActual.Play( ); InterActual.PlayTime(t,h,m,s,x);            InterActual.PlayChapter(t,c)    -   Media Supported:

DVD Video DVD Audio CD Audio x

-   -   Return Values:

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−5 NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.3 InterActual.PlayChapter(t,c)

-   -   Summary        -   Start playback at the specified title number and chapter            value. Parameters:

t Title number ranging from 1-99; signed 1 byte integer c Chapter numberranging from 1-99 for One_Sequential_PGC_Title Chapter number rangingfrom 1-999 for Multi_PGC_Title Signed 2 byte integer

-   -   Example        -   Play the 2^(nd) chapter of title number 6.            -   InterActual.PlayChapter(6,2)    -   Notes:        -   If in TT_DOM and already within specified title,            InterActual.SearchChapter is issued to maintain GPRM values.            Otherwise, InterActual.PlayChapter is issued.    -   Requires:        -   This command requires that the UOP1 operation be permitted.    -   See also:        -   InterActual.PlayTitle(t); InterActual.SearchChapter(c)    -   Media Supported

DVD Video DVD Audio CD Audio x

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−5 NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.4 InterActual.PlayChapterAutoStop(t,c,n)

-   -   Summary:        -   Start playback of the specified title t at chapter c for n            chapters.    -   Parameters:

t Title number ranging from 1-99; signed 1 byte integer c Chapter numberranging from 1-99 for One_Sequential_PGC_Title Signed 2 byte integer nNumber of chapters to play ranging from 1-998; a value of “1” signifiesthat the chapter “c” will be played and play will stop after thatchapter; Signed 2 byte integer

-   -   Example        -   Play the 2^(nd), 3^(rd) and 4^(th) chapters of title number            6.            -   InterActual.PlayChapterAutoStop(6,2,3)    -   Requires:        -   This command requires that the UOP1 operation be permitted.    -   See also:        -   InterActual.PlayChapter(t,c)    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−5 NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.5 InterActual.PlayTime(t,h,m,s,x)

-   -   Summary:        -   This command starts playback in the specified title            number (t) at the specified time in hours (h), minutes (m),            seconds (s) and milliseconds (x). For DVD-Audio, the first            parameter represents the title group number (t).    -   Parameters

t DVD-Video: Title number ranging from 1-99 DVD-Audio: Title groupnumber ranging from 1-9 CD-Audio: Track number ranging from 0-99 where if t = 0 then h, m, s are relative to the  start of the CD-Audio,  elset is the track number and  the h, m, s are relative to that track Signed1 byte integer h Hours where h can range from 00-23; signed 1 byteinteger m Minutes where m can range from 00-59; signed 1 byte integer sSeconds where s can range from 00-59; signed 1 byte integer xMilliseconds where x can range from 0-999 (e.g. 1 would be interpretedas 0.001 second; for video, this will be rounded to the nearest frame)Signed 2 byte integer

-   -   Examples:        -   Start playing from the specified time position of the            current title. For example to play title 2 from 1 hour, 10            minutes, 30 seconds, millisecond 79 in the title        -   InterActual.PlayTime(2,1,10,30,79)    -   Notes:        -   If in TT_DOM or TT_GR_DOM and already within a specific            title, InterActual.SearchTime is issued to maintain GPRM            values. Otherwise, InterActual.PlayTime is issued and the            GPRM registers are initialized.    -   Requires:        -   DVD-Video: This command requires that the UOP0 operation be            permitted.    -   See also:        -   InterActual.SearchTime(h,m,s,x)    -   Media Supported:

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.6 InterActual.PlayTimeAutoStop(t,sh,sm,ss,sx,eh,em,es,ex)

-   -   Summary        -   This command starts playback in the specified title            number (t) at the specified start time in hours (sh),            minutes (sm), seconds (ss) and milliseconds (sx) and ends at            the specified end time (using the same variables for hours,            minutes, seconds and milliseconds: eh, em, es, ex). For            DVD-Audio, the first parameter represents the title group            number (t).    -   Parameters

t DVD-Video: Title number ranging from 1-99 DVD-Audio: Title groupnumber ranging from 1-9 CD-Audio: Track number ranging from 0-99 where if t = 0 then h, m, s are relative to the  start of the CD-Audio,  elset is the track number and  the h, m, s are relative to that track Signed1 byte integer sh Start hour where h can range from 00-23; Signed 1 byteinteger sm Start minutes where m can range from 00-59; Signed 1 byteinteger ss Start seconds where s can range from 00-59; Signed 1 byteinteger sx Start milliseconds where x can range from 0-999 (e.g. 1 wouldbe interpreted as 0.001 second; for video, this will be rounded to thenearest frame); Signed 2 byte integer eh End hour where h can range from00-23; Signed 1 byte integer em End minutes where m can range from00-59; Signed 1 byte integer es End seconds where s can range from00-59; Signed 1 byte integer ex End milliseconds where x can range from0-999 (e.g. 1 would be interpreted as 0.001 second; for video, this willbe rounded to the nearest frame) Signed 2 byte integer

-   -   Examples        -   Start playing from the specified time position of the            current title to the end position. For example to play title            2 from 1 hour, 10 minutes, 30 seconds, millisecond 79 in the            title to 1 hour, 11 minutes, 30 seconds and 0 milliseconds:        -   InterActual.PlayTimeAutoStop(2,1,10,30,79,1,11,30,0)    -   Requires        -   DVD-Video: This command requires that the UOP0 operation be            permitted.    -   See also        -   InterActual.PlayTime(t,h,m,s,x)    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

No. Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.7 InterActual.PlayTrack(g,t)

-   -   Summary        -   Start playback at the beginning of the specified track            number with the selected title group number.    -   Parameters

g DVD-Audio: Title group number ranging from 1-9 (within a Volume);signed 1 byte integer CD-Audio: Ignored t Track number ranging from1-99; signed 1 byte integer

-   -   Example        -   Start playing the 2^(nd) track of title group 1.        -   InterActual.PlayTrack(1,2)    -   Notes        -   If in TT_GR_DOM and already within specified title group,            InterActual.SearchTrack is issued to maintain GPRM values.            Otherwise, InterActual.PlayTrack is issued. In case of            CD-DA, group number should be 1 by default.        -   This method shall not be used for the playing a Hidden            Track. The method InterActual.HiddenPlayTrack( ) shall be            used instead.    -   See also:        -   InterActual.SearchTrack(t); InterActual.PlayTitleGroup(g)    -   Media Supported:

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.8 InterActual.SearchChapter(c)

-   -   Summary        -   Jump to the beginning of the specified chapter within the            current title.    -   Parameters

c Chapter number ranging from 1-99 for One_Sequential_PGC_Title Chapternumber ranging from 1-999 for Multi_PGC_Title; Signed 2 byte integer

-   -   Example        -   Play the 2^(nd) chapter of currently playing title.        -   InterActual.SearchChapter(2)    -   Notes:        -   Maintains current GPRM values.    -   Requires:        -   This command requires that the UOP1 and UOP5 operations are            permitted.    -   See also:        -   InterActual.PlayTitle(t); InterActual.PlayChapter(t,c)    -   Media Supported

DVD Video DVD Audio CD Audio x

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−5 NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.9 InterActual.SearchTime(h,m,s,x)

-   -   Summary        -   This command starts playback at the specified time in hours            (h), minutes (m), seconds (s) and milliseconds (x).    -   Parameters

h Hours where h can range from 00-23; signed 1 byte integer m Minuteswhere m can range from 00-59; signed 1 byte integer s Seconds where scan range from 00-59; signed 1 byte integer x Milliseconds where x canrange from 0-999 (e.g. 1 would be interpreted as 0.001 second; forvideo, this will be rounded to the nearest frame) Signed 2 byte integer

-   -   Examples        -   Start playing from the specified time position of the            current title. For example to play from 1 hour, 10 minutes,            30 seconds, millisecond 200 in the title        -   InterActual.SearchTime(1, 10, 30, 200)    -   Notes        -   Maintains current GPRM values. For CD-Audio, h, m, s are            relative to the start of the CD-Audio.    -   Requires        -   DVD-Video: This command requires that the UOP0 and UOP5            operations are permitted.    -   See also:        -   InterActual.PlayTime(th,m,s,x)    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 General Error Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.10 InterActual.SearchTrack(t)

-   -   Summary:        -   Start playback at the beginning of the specified track            number with the current title group number.    -   Parameters

t Track number ranging from 1-99; signed 1 byte integer

-   -   Example        -   Start playing the 3^(rd) track of the current title group.        -   InterActual.SearchTrack(3)    -   Notes        -   GPRM values are maintained. Should also work for CD-DA.    -   See also:        -   InterActual.PlayTrack(g,t);        -   InterActual.PlayTitleGroup(g)    -   Media Supported

DVD Video DVD Audio CD Audio x x

-   -   Return Values

No. Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.11 InterActual.TotalNumChapters(t)

-   -   Summary        -   Returns the total number of chapters (Part of Titles—PTT)            available for current title/title group.    -   Parameters

t Title Number ranging from 1-99; signed 1 byte integer

-   -   Return Value

JavaScript Number Signed 2 byte integer; Number of chapters (or PTTs)ranging from 1-999

Number Name Description −1 GeneralError Unknown error condition −2UOPNotAllowed Operation not allowed by current UOP fields −3NotSupported File type or feature not supported at this time −5 NoDiscAttempt to play with no disc −6 ParmRangeErr Parameter out of range orinvalid

-   -   Example        -   Query the total number of chapters in the title/title group.        -   TotalChapters=InterActual.TotalNumChapters(1)    -   Notes        -   The Title Group range is only from 1-9.    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.12 InterActual.NextPG( )

-   -   Summary        -   Halts playback of the current presentation and starts the            presentation from the beginning of the next Program within            the same Program Chain (PGC).    -   Parameters        -   None required    -   Example        -   DVD-Video Example: Proceed to the next program, skipping the            remainder of the current program of the current title.        -   InterActual.NextPG( )    -   Notes        -   DVD-Video: Valid in both the title and menu domains. For a            One Sequential PGC Title, this method halts playback of the            current program and starts playback from the next program            within the title.        -   DVD-Audio: Valid in only video-capable DVD-Audio player, and            only in the Audio Manager domain.    -   Media Supported

DVD Video DVD Audio CD Audio x x

-   -   Return Values

No. Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.13 InterActual.PrevPG( )

-   -   Summary        -   Halts playback of the current presentation and starts the            presentation from the beginning of the previous Program with            the same Program Chain (PGC).    -   Parameters        -   None required    -   Example        -   DVD-Video example: Proceed to the previous program of the            current title.        -   InterActual.PrevPG( )    -   Notes        -   DVD-Video: Valid in both the title and menu domains. For a            One Sequential PGC Title, this method halts playback of the            current program and starts playback from the start of the            current program within the title (same as TopPG_Search). If            playback is within 10 seconds of the start of a program,            however, this method will force the presentation to go to            the start of the previous program. If already in first            program, then playback starts at beginning of the program            upon InterActual.PrevPG( ).        -   DVD-Audio: Valid in only video-capable DVD-Audio player, and            only in the Audio Manager domain.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.14 InterActual.GoUp( )

-   -   Summary        -   Halts playback of the current Program Chain (PGC) and starts            the playback of the new PGC which is specified as GoUp_PGCN.    -   Parameters        -   None required    -   Example        -   Proceed to the PGC specified as the GoUp_PGCN in the PGCI.        -   InterActual.GoUp( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.15 InterActual.NextTrack( )

-   -   Summary        -   Halts playback of the current track and starts playback from            the next track in the same Title Group.    -   Parameters        -   None required    -   Example        -   Skip to the next track        -   InterActual.NextTrack( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.16 InterActual.PrevTrack( )

-   -   Summary        -   Halts playback of the current track and starts playback from            the start of the current track. If it is at the start of a            track, it will go to the start of the previous track.    -   Parameters        -   None required    -   Example        -   Skip back to the previous track.        -   InterActual.PrevTrack( )    -   Notes        -   This method halts playback of the current track and starts            playback from the start of the current track within the            title group (same as TopTK_Search). If playback is within 10            seconds of the start of a track, however, this method will            force the presentation to go to the start of the previous            track (same as PrevTK_Search). If already in first track,            then playback starts at beginning of the track upon            InterActual.PrevTrack( ).    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.17 InterActual.TotalTrackTime(t)

-   -   Summary        -   Returns the total time of track t in milliseconds (for            CD-DA).    -   Parameters

t CD-DA track number ranging from 1-99; signed 1 byte integer

-   -   Return Value

Number Name Description −1 GeneralError Unknown error condition −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

-   -   Example        -   Query the length of track 5.        -   Track5Length=InterActual.TotalTrackTime(5)    -   Media Supported

DVD Video DVD Audio CD Audio X

A.1.18 InterActual.Pause( )

-   -   Summary        -   Pause playback of the DVD (pause is on). Subsequent use of            this command resumes playback (e.g. pause is off). In other            words, this method operates in a “toggle” fashion.    -   Parameters        -   None required    -   Example        -   Pause the playback.        -   InterActual.Pause( )    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.19 InterActual.Stop( )

-   -   Summary        -   Stops the playback of the current media Stops execution of            the current PGC and transfers to the “Stop State”.    -   Parameters        -   None required    -   Example        -   Stop playback of the current DVD.        -   InterActual.Stop( )    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.20 InterActual.FastForward(x)

-   -   Summary        -   This command fast-forwards the current DVD at speed x.    -   Parameters

x x can range from 2-99; signed 1 byte integer For CD-DA, the number2-99 correlates to the number of seconds to advance and resume playback.

-   -   Example        -   Fast-forwards the current DVD at 8× speed.        -   InterActual.FastForward(8)    -   Notes        -   Some players may only allow values of 2, 4, 8, 16, and 32.            If this command is used with a value not in the list, then            the underlying software will approximate to the nearest            available value (for instance 3 is specified and 4 is            chosen) rather than return with an error code.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

No. Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.21 InterActual.Rewind(x)

-   -   Summary        -   Rewind or reverse play the current DVD at speed x.    -   Parameters

x x can range from 2-99; signed 1 byte integer For CD-DA, the number2-99 correlates to the number of seconds to rewind and resume playback.

-   -   Example        -   Rewind the current DVD at 8× speed.        -   InterActual.Rewind(8)    -   Notes        -   Some players may only allow values of 1, 2, 4, 8, 16,            and 32. If this command is used with a value not in the            list, then the underlying software will approximate to the            nearest available value (for instance 3 is specified and 4            is chosen) rather than return with an error code.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.22 InterActual.Menu(menuID)

-   -   Summary        -   This command jumps to the selected menuID.    -   Parameters

menuID Menu choices for DVD-Video: 0: reserved 1: Title Menu 2: RootMenu 3: Chapter Menu 4: Audio Languages Menu 5: Sub-picture LanguagesMenu 6: Angle Menu Signed 1 byte integer “” DVD-Audio does not support amenu ID. For DVD-Audio, the Menu method calls the Entry PGC in the AudioManager Menu.

-   -   Example        -   DVD-Video: To call the Root Menu of the current VTS        -   InterActual.Menu(2)    -   Notes        -   All menus are optional and not necessarily present on each            DVD disc.    -   Requires        -   DVD-Video: The associated menu UOP must permit the            operation: Title Menu (UOP10), Root Menu (UOP11),            Sub-picture Menu (UOP12), Audio Menu (UOP13), Angle Menu            (UOP14), Chapter Menu (UOP15).    -   See also:        -   InterActual.Resume( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

A.1.23 InterActual.Resume( )

-   -   Summary        -   Resume the playback interrupted by a menu call.    -   Parameters        -   None required    -   Example        -   We will resume video or audio playback after a menu call.        -   InterActual.Resume( )    -   Notes        -   This is called after a Menu command and it is only valid            from a Menu.    -   See also:        -   InterActual.Menu(menuID)    -   Media Supported

DVD Video DVD Audio CD Audio x x

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

A.1.24 InterActual.StillOff( )

-   -   Summary        -   This command is the operation to release a Still (VOBU            Still, Cell Still, PGC Still).    -   Parameters        -   None required    -   Example        -   The following releases the current still:        -   InterActual.StillOff( )    -   Notes        -   The Still is enforced by the Navigation system, versus a            Pause that is enforced by User Operation. During a Still            condition, the count of the Navigation Timer and General            Parameters in Counter mode are continued as usual. However,            this is not the case for Pause. Additionally, button            functions are valid during a Still condition—not so for            Pause.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

No. Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

A.1.25 InterActual.SelectUpButton( )

-   -   Summary        -   Selects the up direction button.    -   Parameters        -   None required    -   Example        -   Select the “up” direction button on the current menu.        -   InterActual.SelectUpButton( )    -   See also:        -   InterActual.SelectDownButton( );        -   InterActual.SelectLeftButton( );        -   InterActual.SelectRightButton( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

A.1.26 InterActual.SelectDownButton( )

-   -   Summary        -   Selects the down direction button.    -   Parameters        -   None required    -   Example        -   Select the “down” direction button on the current menu.        -   InterActual.SelectDownButton( )    -   See also        -   InterActual.SelectUpButton( )        -   InterActual.SelectLeftButton( )        -   InterActual.SelectRightButton( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

A.1.27 InterActual.SelectLeftButton( )

-   -   Summary        -   Selects the left direction button.    -   Parameters        -   None required    -   Example        -   Select the “left” direction button on the current menu.        -   InterActual.SelectLeftButton( )    -   See also        -   InterActual.SelectUpButton( )        -   InterActual.SelectDownButton( )        -   InterActual.SelectRightButton( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

A.1.28 InterActual.SelectRightButton( )

-   -   Summary        -   Selects the right direction button.    -   Parameters        -   None required    -   Example        -   Select the “right” direction button on the current menu.        -   InterActual.SelectRightButton( )    -   See also:        -   InterActual.SelectUpButton( );        -   InterActual.SelectDownButton( );        -   InterActual.SelectLeftButton( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

A.1.29 InterActual.SelectButtonAndActivate(n)

-   -   Summary        -   Activate the specified highlighted button, where n is the            button number.    -   Parameters        -   n Number of the button where n may range from 1-36; signed 1            byte integer    -   Example        -   Select button number 2 on the current menu.        -   InterActual.SelectButtonAndActivate(2)    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

A.130 InterActual.ActivateButton( )

-   -   Summary        -   Activate the current highlighted button.    -   Parameters        -   None required    -   Example        -   Activate the currently highlighted button.        -   InterActual.ActivateButton( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields

A.1.31 InterActual.SelectAudio(n)

-   -   Summary        -   Sets the stream number of the Audio to play.    -   Parameters        -   n DVD-Video:            -   Number of the Audio streams in the Title Domain may                range from 0 to 7            -   DVD-Audio:            -   The Audio selection may be changed to 0 or 1            -   Signed 1 byte integer    -   Example        -   Select audio stream number 1.        -   InterActual.SelectAudio(1)    -   Notes        -   The number of audio streams in Menu Domain is, at most, 1;            the author either includes audio in a menu or not.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

A.1.32 InterActual.SelectSubpicture(n)

-   -   Summary        -   Sets the stream number of the Sub-picture to display.    -   Parameters

n DVD-Video: Number of the Sub-picture streams in the Title Domain mayrange from 0 to 31 DVD-Audio: The Sub-picture selection may range from 0to 31 Signed 1 byte integer

-   -   Example        -   Select sub-picture number 23.        -   InterActual.SelectSubpicture(23)    -   Notes        -   This command is only applicable for the Title Domain.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

A.1.33 InterActual.SelectAngle(n)

-   -   Summary        -   Sets the angle number of the Angle to play.    -   Parameters

n Angle number n ranging from 1-9; signed 1 byte integer

-   -   Example        -   Set the angle number to 3.        -   InterActual.SelectAngle(3)    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

A.1.34 InterActual.SelectParentalLevel(n)

-   -   Summary        -   Selects parental level of the player.    -   Parameters

n Parental level ranging from 1-8 where 1 = G 2 = Reserved 3 = PG 4 =PG13 5 = Reserved 6 = R 7 = NC-17 8 = Reserved Signed 1 byte integer

-   -   Example        -   Set the Parental Level to 3 for PG.        -   PG=3;        -   InterActual.SelectParentalLevel(PG)    -   Notes        -   At the start of playback of a DVD, this command can be used            to select the level and the ParentalEvent will be raised.            Thus, parents can use this to prevent playback of            objectionable material.        -   This command is only available in Stop State.    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−6 ParmRangeErr Parameter out of range or invalid

A.1.35 InterActual.AudioLanguage(x, rc)

-   -   Summary        -   Returns the audio language for specified audio stream number            x.    -   Parameters

x Audio stream number ranging from 0-7 Signed 1 byte integer rcCharacter value; unsigned 2 bytes char represented by the coded“Language Symbols” defined in ISO-639. See the language codes section inthe appendix.

-   -   Return Value

Number Name Description 0 OK Successful execution but code not specified−1 GeneralError Unknown error condition −2 UOPNotAllowed Operation notallowed by current UOP fields −3 NotSupported File type or feature notsupported at this time −6 ParmRangeErr Parameter out of range or invalid

-   -   Example        -   Query the language for audio stream 3.        -   AudioLang3=InterActual.AudioLanguage(3)    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.36 InterActual.AudioLanguageExtension(x)

-   -   Summary        -   Returns the audio language extension for specified audio            stream number x.    -   Parameters

x Audio stream number ranging from 0-7

-   -   -   Signed 1 byte integer

    -   Return Value

JavaScript Number Unsigned 1 byte integer See the language codesextensions section in the appendix. Number Name Description −1GeneralError Unknown error condition −2 UOPNotAllowed Operation notallowed by current UOP fields −3 NotSupported File type or feature notsupported at this time −6 ParmRangeErr Parameter out of range or invalid

-   -   Example        -   Query the language extension for audio stream 3.        -   AudioLangExt3=InterActual.AudioLanguageExtension(3)    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.37 InterActual.SubpictureLanguage(x, rc)

-   -   Summary        -   Returns the sub-picture language for specified sub-picture            number x (sub-picture language is the 2-digit locale).    -   Parameters

x Sub-picture number ranging from 0-31 Signed 1 byte integer rcCharacter return value; unsigned 2 bytes char represented by the coded“Language Symbols” defined in ISO-639. See the language codes section inthe appendix.

-   -   Return Value

Number Name Description 0 OK Successful execution but code not specified−1 GeneralError Unknown error condition −2 UOPNotAllowed Operation notallowed by current UOP fields −3 NotSupported File type or feature notsupported at this time −6 ParmRangeErr Parameter out of range or invalid

-   -   Example        -   Query the locale for sub-picture 3.        -   LocaleSubP23=InterActual.SubpictureLanguage(3)    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.38 InterActual.SubpictureLanguageExtension(x)

-   -   Summary        -   Returns the sub-picture language extension for the specified            sub-picture number x.    -   Parameters

x Sub-picture number ranging from 0-31 Signed 1 byte integer

-   -   Return Value

JavaScript Number Unsigned 1 byte integer See the language codesextensions section in the appendix. Number Name Description −1GeneralError Unknown error condition −2 UOPNotAllowed Operation notallowed by current UOP fields −3 NotSupported File type or feature notsupported at this time −6 ParmRangeErr Parameter out of range or invalid

-   -   Example        -   Query the language for sub-picture language extension 3.        -   Lang3Ext=InterActual.SubpictureLanguageExtension(3)    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.39 InterActual.GetGPRM(r)

-   -   Summary        -   Gets the specified General Parameter Register value.    -   Parameters

r General Parameter Register Number from 0 to 15; signed 1 byte integer

-   -   Return Value

JavaScript Signed 4 byte (32-bit) value in the GPRM; Number If thereturn value is zero (0) or any positive number, it can be assumed thatthe 2 low-order bytes are the register contents. If this value isnegative, it is an error condition, which are listed below. Number NameDescription −1 GeneralError Unknown error condition −2 UOPNotAllowedOperation not allowed by current UOP fields −3 NotSupported File type orfeature not supported at this time −6 ParmRangeErr Parameter out ofrange or invalid

-   -   Example        -   Get the contents of GPPM(1)        -   X=InterActual.GetGPRM(1)    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.40 InterActual.GetSPRM(r)

-   -   Summary        -   Get the specified System Parameter Register value.    -   Parameters

r SPRM Register Number from 0 to 25; signed 1 byte integer  0: MenuDescription Language Code (M_LCD or AMGM_LCD)  1: Audio Stream number(ASTN for TT_DOM, or ASLN for TT_GR_DOM)  2: Sub-picture stream number(SPSTN) and On/Off flag for TT_DOM  3: Angle Number (AGLN for TT_DOM) 4: Title Number (TTN for TT_DOM)  5: VTS Title Number (VTS_TTN forTT_DOM)  6: Title PGC number (TT_PGC for TT_DOM)  7: Part_of_Titlenumber (PTTN) for One_Sequential_PGC_Title, or PG Number for TT_GR_DOM 8: Highlighted Button number (HL_BTNN) for Selection State  9:Navigation Timer (NV_TMR) 10: TT_PGCN for NV_TMR 11: Player Audio MixingMode (P_AMXMD) for Karaoke 12: Country Code (CTY_CD) for ParentalManagement 13: Parental Level (PTL_LVL) 14: Player Configuration (P_CFG)for Video 15: Player Configuration (P_CFG) for Audio 16: InitialLanguage Code (INI_LCD) for AST 17: Initial Language Code Extension(INI_LCD_EXT) for AST 18: INI_LCD for SPST 19: INI_LCD_EXT for SPST 20:Player Region 21: ATT Group Number (ATT_GRN) 22: ATT number (ATTN forTT_GR_DOM) 23: Track number (TKN for TT_GR_DOM) 24: ASV number (ASVN)25: reserved

-   -   Return Value

JavaScript Signed 4 byte (32-bit) value stored in the SPRM Number If thereturn value is zero (0) or any positive number, it can be assumed thatthe 2 low-order bytes are the register contents. If this value isnegative, it is an error condition, which are listed below. Number NameDescription −1 GeneralError Unknown error condition −2 UOPNotAllowedOperation not allowed by current UOP fields −3 NotSupported File type orfeature not supported at this time −6 ParmRangeErr Parameter out ofrange or invalid

-   -   Example        -   Get System Parameter Register 1        -   X=InterActual.GetSPRM(1)    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.41 InterActual.ValidUOP(x)

-   -   Summary        -   Check if a User Operation is valid. The disabled operations            are defined on the disc itself. The main purpose of this            command is to retrieve the current UOP status.    -   Note:        -   The specific operation (UOP bit) is disabled when the            corresponding bit is set to a “1”.    -   Parameters

Signed 4 byte Bit Assignments: (32-bit)  0 = Time Play, Time Search  1 =PTT Play, PTT Search  2 = Title Play  3 = Stop  4 = Go Up  5 = TimeSearch, PTT Search  6 = Previous PG Search  7 = Next PG Search  8 =Forward Scan  9 = Backward Scan 10 = Title Menu Call 11 = Root Menu Call12 = Sub-picture Menu Call 13 = Audio Menu Call 14 = Angle Menu Call 15= Chapter Menu Call 16 = Resume 17 = Button Select/Activate 18 = StillOff 19 = Pause Off; Pause On 20 = Audio Stream Change 21 = Sub-pictureStream Change 22 = Angle Change; Parental level select 23 = KaraokePresentation Mode Change 24 = Video Presentation Mode Change

-   -   Return Value

JavaScript Number 0 = Permitted 1 = Prohibited Signed 1 byte integerNumber Name Description −1 GeneralError Unknown error condition −2UOPNotAllowed Operation not allowed by current UOP fields −3NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

-   -   Example        -   To retrieve and test the UOP bit for InterActual.PlayTime.        -   if (InterActual.ValidUOP(0x01))            -   f.write(“Time Play is prohibited”);        -   else            -   f.write(“Time Play is permitted”);    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.42 InterActual.GetBCAField( )

-   -   Summary        -   Gets the 2-byte field from within the BCA for the current            disc side.    -   Parameters        -   None required    -   Return Value

JavaScript Signed 4 byte (32-bit) value from the BCA; Number If thereturn value is zero (0) or any positive number, it can be assumed thatthe 2 low-order bytes are the BCA field contents (unencrypted). Theseindividual bits can be used to determine actions (like the start-uptitle) based on the specific disc (versus title). If this value isnegative, it is an error condition, which are listed below. Number NameDescription −1 GeneralError Unknown error condition −2 UOPNotAllowedOperation not allowed by current UOP fields −3 NotSupported File type orfeature not supported at this time, in this case, the BCA is notaccessible

-   -   Example        -   Query for the BCA field:        -   BCA_Test bits=InterActual.GetBCAField( )    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.1.43 InterActual.SupportedFeatures(x)

-   -   Summary        -   Use this command to check if features are supported. A            number is passed in to test a specific feature of the API            corresponding to the capabilities of the current system. A            “0” or “1” value is returned specifying if the feature is            supported or not: If a “1” is returned, the corresponding            feature is supported and a “0” means it is not supported.    -   Parameters

Signed 1 byte Index number corresponding to the command, property orevents to be tested. See the table following for the list of number;ranging from 1-255 with “0” being a reserved value.

-   -   Return Value

JavaScript Number 0 = Feature is not available 1 = Feature is availableSigned 1 byte integer Number Name Description −1 GeneralError Unknownerror condition −2 UOPNotAllowed Operation not allowed by current UOPfields −6 ParmRangeErr Parameter out of range or invalid

-   -   Example        -   To retrieve the supported features for this InterActual            device:

ZOOMPAN = InterActual.SupportedFeatures(IA_CMD_ZOOM) if (ZOOMPAN) { //can use Zoom . . . }

-   -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Index List        -   The interfaces are listed below in a form that will be used            for authoring templates (defined using a “var” statement in            JavaScript) to avoid having to specify the numerical value            directly.

TABLE 5 (part 1) Supported Features Indices Interface Index valueDVD-Video & CD-DA Basic Reserved 0 IA_CMD_PLAY 1 IA_CMD_PLAYTITLE 2IA_CMD_PLAYCHAPTER 3 IA_CMD_PLAYTIME 4 IA_CMD_PLAYTRACK 5IA_CMD_SEARCHCHAPTER 6 IA_CMD_SEARCHTIME 7 IA_CMD_SEARCHTRACK 8IA_CMD_TOTALNUMCHAPTERS 9 IA_CMD_NEXTPG 10 IA_CMD_PREVPG 11 IA_CMD_GOUP12 IA_CMD_NEXTTRACK 13 IA_CMD_PREVTRACK 14 IA_CMD_TOTALTRACKTIME 15IA_CMD_PAUSE 16 IA_CMD_STOP 17 IA_CMD_FASTFORWARD 18 IA_CMD_REWIND 19IA_CMD_MENU 20 IA_CMD_RESUME 21 IA_CMD_STILLOFF 22 IA_CMD_SELECTUPBUTTON23 IA_CMD_SELECTDOWNBUTTON 24 IA_CMD_SELECTLEFTBUTTON 25IA_CMD_SELECTRIGHTBUTTON 26 IA_CMD_SELECTBUTTONANDACTIVATE 27IA_CMD_ACTIVATEBUTTON 28 IA_CMD_SELECTAUDIO 29 IA_CMD_SELECTSUBPICTURE30 IA_CMD_SELECTANGLE 31 IA_CMD_SELECTPARENTALLEVEL 32IA_CMD_AUDIOLANGUAGE 33 IA_CMD_AUDIOLANGUAGEEXTENSION 34IA_CMD_SUBPICTURELANGUAGE 35 IA_CMD_SUBPICTURELANGUAGEEXTENSION 36IA_CMD_GETGPRM 37 IA_CMD_GETSPRM 38 IA_CMD_VALIDUOP 39IA_CMD_GETBCAFIELD 40 IA_CMD_SUPPORTEDFEATURES 41IA_CMD_ENABLESUBPICTURE 42 IA_CMD_SETGPRM 43 IA_CMD_MUTE 44IA_CMD_FULLSCREEN 45 IA_CMD_GOTOBOOKMARK 46 IA_CMD_SAVEBOOKMARK 47IA_CMD_NETCONNECT 48 IA_CMD_SUBSCRIBETOEVENT 49IA_CMD_PLAYCHAPTERAUTOSTOP 50 IA_CMD_PLAYTIMEAUTOSTOP 51IA_CMD_NETDISCONNECT 52 Reserved 53-59 IA_PR_ELAPSEDTIME 60IA_PR_TOTALELAPSEDTIME 61 IA_PR_TOTALTIME 62 IA_PR_TITLENUMBER 63IA_PR_PGCNUMBER 64 IA_PR_CHAPTERNUMBER 65 IA_PR_TRACKNUMBER 66IA_PR_PLAYSTATE 67 IA_PR_DOMAIN 68 IA_PR_AUDIONUMBER 69IA_PR_SUBPICTURENUMBER 70 IA_PR_ANGLENUMBER 71 IA_PR_PARENTALLEVEL 72IA_PR_BUTTONNUMBER 73 IA_PR_TOTALNUMAUDIO 74 IA_PR_TOTALTRACKS 75IA_PR_TOTALTITLES 76 IA_PR_TOTALNUMSUBPICTURE 77 IA_PR_TOTALNUMANGLE 78IA_PR_TOTALNUMBUTTON 79 IA_PR_MAJORVERSION 80 IA_PR_MINORVERSION 81IA_PR_PLAYERMODE 82 IA_PR_MAXFAST 83 IA_PR_MAXFASTREVERSE 84IA_PR_MEDIAID 85 IA_PR_DISCTYPE 86 IA_PR_BOOKMARK 87 IA_PR_ROMTYPE 88IA_PR_INTERNETSTATUS 89 IA_PR_FULLSCREENMODE 90 Reserved 91-99IA_EV_TITLE 100 IA_EV_CHAPTER 101 IA_EV_PGC 102 IA_EV_TIME 103IA_EV_TRACK_TIME 104 IA_EV_TRACK 105 IA_EV_ANGLE 106 IA_EV_STATE 107IA_EV_SPEED 108 IA_EV_UOP 109 IA_EV_DOMAIN 110 IA_EV_AUDIO 111IA_EV_SUBPICTURE 112 IA_EV_PARENTAL 113 IA_EV_REGION 114 IA_EV_EJECT 115IA_EV_INSERT 116 IA_EV_GPRM 117 IA_EV_INFO 118 IA_EV_RC_BUTTON 119IA_EV_NUMBER_OF_ANGLES 120 Reserved 121-129

TABLE 5 (part 2) Supported Features Indices DVD-Audio BasicIA_CMD_PLAYTITLEGROUP 130 IA_CMD_NEXTSLIDE 131 IA_CMD_PREVSLIDE 132Reserved 133-139 IA_PR_TITLEGROUPNUMBER 140 IA_PR_SLIDENUMBER 141Reserved 142-144 IA_EV_TITLE GROUP EVENT 145 IA_EV_SLIDE EVENT 146Reserved 147-149

TABLE 5 (part 3) Supported Features Indices DVD-Video & CD-DA AdvancedIA_CMD_OPEN 150 IA_CMD_SLOW 151 IA_CMD_STEP 152 IA_CMD_SLOWREVERSE 153IA_CMD_ZOOM 154 IA_CMD_PAN 155 IA_CMD_ENABLECCTEXT 156IA_CMD_MENULANGUAGE 157 IA_CMD_SELECTMENULANGUAGE 158IA_CMD_SELECTPARENTALCOUNTRY 159 IA_CMD_SELECTKARAOKE 160IA_CMD_SETMIXVOLUME 161 IA_CMD_CLOSE 162 IA_CMD_SHOWCONTROLS 163IA_CMD_HIDECONTROLS 164 IA_CMD_SHOWCONTEXTMENU 165 IA_CMD_POPUPMENU 166IA_CMD_SUPPRESSERRORS 167 IA_CMD_AUTOMOUSEHIDE 168 IA_CMD_OPENDRIVE 169IA_CMD_LAUNCH 170 IA_CMD_PRESENTATIONMODE 171 IA_CMD_PRINT 172IA_CMD_PLAYPERIODINTITLEAUTOSTOP 173 Reserved 174-189IA_PR_CURRENTMENULANGUAGE 190 IA_PR_TOTALNUMMENULANGUAGE 191IA_PR_PARENTALCOUNTRY 192 IA_PR_CCTEXTSTATUS 193 IA_PR_CCTEXT 194IA_PR_MAXSLOW 195 IA_PR_MAXSLOWREVERSE 196 IA_PR_DISCREGION 197IA_PR_DISCDIRECTORY 198 IA_PR_LOCALDIRECTORY 199 IA_PR_CURRENTZOOMX 200IA_PR_CURRENTZOOMY 201 IA_PR_CURRENTPANX 202 IA_PR_CURRENTPANY 203IA_PR_MIXVOLUME 204 IA_PR_FRAMESPERSECOND 205 Reserved 206-220IA_EV_MOUSE EVENT 221 IA_EV_MENU BUTTON EVENT 222 IA_EV_KARAOKE EVENT223 IA_EV_STILL EVENT 224 IA_EV_CC TEXT EVENT 225 IA_EV_FULLSCREEN 226Reserved 227-239

TABLE 5 (part 4) Supported Features Indices DVD-Audio AdvancedIA_CMD_HIDDENPLAYGROUP 240 IA_CMD_HIDDENPLAYTRACK 241IA_CMD_HIDDENPLAYTIME 242 IA_CMD_SELECTTEXTLANGUAGE 243 Reserved 244-255

A.1.44 InterActual.EnableSubpicture(n)

-   -   Summary        -   Enables or disables sub-pictures.    -   Parameters

n If n is 0, then disable Sub-pictures (off) If n is 1, then enableSub-pictures (on) Signed 1 byte integer

-   -   Example        -   Disable sub-pictures.        -   InterActual.EnableSubpicture(0)    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

A.1.45 InterActual.SetGPRM(r,x)

-   -   Summary        -   Manually set the General Parameter Registers.    -   Parameters

r GPRM Register Number from 0 to 15; signed 1 byte integer x Unsigned 2byte (16-bit) value to store in the GPRM

-   -   Example        -   Set GPRM 1 to 0x0045        -   InterActual.SetGPRM(1,0x0045)    -   Notes        -   This command should be used with caution.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

A.1.46 InterActual.Mute( )

-   -   Summary        -   Mutes the DVD or CD audio output.    -   Parameters        -   None required    -   Example        -   With a DVD-video in the drive, mute the DVD-Video audio            stream.        -   InterActual.Mute( )    -   Notes        -   This method acts as a toggle. To un-mute, issue            InterActual.Mute( ) again.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

A.1.47 InterActual.FullScreen(w)

-   -   Summary        -   Sets the video playback to full screen or in a window.    -   Parameters

w When w = 0, set windowed mode when w = 1, set full screen mode Signed1 byte integer

-   -   Example        -   Set to full screen.        -   InterActual.FullScreen(1)    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

A.1.48 InterActual.GotoBookmark(b)

-   -   Summary        -   Continues playback at the bookmark saved for this disc.    -   Parameters

b Signed 1 byte integer ranging from 0-32 Number of the bookmark that isbeing used for resuming the playback, or if 0 is passed, resume playbackusing whatever bookmark exists for this disc

-   -   Example        -   Play from the bookmark (saved in MyBkMk) saved for this            disc.        -   InterActual.GotoBookmark(MyBkMk)    -   Notes        -   The bookmarks are assigned a number internally when set. A            GotoBookmark returns to the same position on the disc as            when the bookmark was set (saved). When a bookmark is saved,            it will overwrite any existing bookmark for this disc,            should one exist. If all of the bookmarks in memory are            used, it will overwrite the oldest bookmark. Because            navigating to other HTML pages with embedded video can            interrupt playback such that other bookmarks can be saved,            care should be taken to resume playback using the desired            bookmark. See Bookmarks in the appendix for a detailed            layout of bookmarks. If the bookmark number is not known by            the JavaScript, passing a parameter of 0 will use the last            bookmark that was saved for this disc.    -   See also        -   InterActual.SaveBookmark( )    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−5 NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid −8 IncorrectDisc The bookmark specified is not for thisdisc

A.1.49 InterActual.SaveBookmark( )

-   -   Summary        -   Saves a bookmark for the current play location for this            disc.    -   Parameters        -   Return Value

JavaScript Signed 1 byte integer ranging from 1-32 number of the Numberbookmark that is being saved Number Name Description −1 GeneralErrorUnknown error condition −2 UOPNotAllowed Operation not allowed bycurrent UOP fields −5 NoDisc Attempt to play with no disc

-   -   Example        -   Save a bookmark for this disc and call it MyBkMk.        -   MyBkMk=InterActual.SaveBookmark( )    -   Notes        -   When a bookmark is saved, it will overwrite any existing            bookmark for this disc, should one exist. If all of the            bookmarks in memory are used, it will overwrite the oldest            bookmark. See Bookmarks in the appendix for a detailed            layout of bookmarks.    -   See also        -   GotoBookmark(b)    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.1.50 InterActual.NetConnect( )

-   -   Summary        -   Establish an Internet connection.    -   Parameters        -   None required    -   Example        -   Open connection.        -   InterActual.NetConnect( )    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Notes        -   This command does not block, but when it is used in            conjunction with the Net Event, the code can see the            progress of establishing a connection and respond            accordingly.    -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −3 NotSupported File type or feature not supported at thistime or not possible at this time −7 MemoryErr Not enough memory foroperation

A.1.51 InterActual.NetDisconnect( )

-   -   Summary        -   Inform the underlying system that an Internet connection is            no longer required. The system setup parameters will            determine whether to actually disconnect a session or not            based on the system configuration.    -   Parameters        -   None required    -   Example        -   Open connection.        -   InterActual.NetDisconnect( )    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Notes        -   This command does not block.    -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −3 NotSupported File type or feature not supported at thistime or not possible at this time −7 MemoryErr Not enough memory foroperation

A.1.52 InterActual.SubscribeToEvent(e, s)

-   -   Summary        -   All events listed in the base API are subscribed to, by            default with the exception of “Info” event, index “21”.            Additionally, all advanced and platform-specific events are            not subscribed to and must be explicitly subscribed to. A            program can choose to subscribe or unsubscribe to an event            using this command.    -   Parameters

e Event id, which is the index number as listed in the Event section ofthis document; it can range from 0-999; Signed 2-byte integer. sSubscription flag where s = 0 means unsubscribe and s = 1 means tosubscribe to the event id contained in e; Signed 1 byte integer.

-   -   Example        -   To subscribe to the Karaoke event:        -   InterActual.SubscribeToEvent(52,1)    -   Notes        -   If an attempt is made to subscribe to an event that is            already subscribed to (for whatever reason), no error will            be returned; rather the state of subscription will not            change    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −3 NotSupported File type or feature not supported at thistime, in this case the event type is not supported on this platform. −6ParmRangeErr Parameter out of range or invalid −7 MemoryErr Not enoughmemory for operation

A.2 Properties

Properties can be used to find information about commonly usedvariables, such as time, title and chapter. They are read-only, bydefinition. Where it makes sense to set a specific property, there willbe an associated command to do so.

All properties must be supported and contain a value within the rangespecified. If a property doesn't exist or is not supportable at thetime, then the property should return the value “not implemented” or“ni” for character or “−1” numeric values.

InterActual playback devices shall support the following properties.

A.2.1 InterActual.ElapsedTime

-   -   Summary        -   Returns the elapsed time of the current title, or the            current track for CD-DA, in milliseconds.    -   Return Value

JavaScript Signed 4 byte (32-bit) integer ranging from 0 to 2³¹ − 1Number

-   -   Example        -   Query the elapsed time so far.        -   TimeSoFar=InterActual.ElapsedTime    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.2 InterActual.TotalElapsedTime

-   -   Summary        -   Returns the total elapsed time, in milliseconds, of the            CD-DA (disc) playing.    -   Return Value

JavaScript Signed 4 byte (32-bit) integer ranging from 0 to 2³¹ − 1Number

-   -   Example        -   Query the elapsed time of the CD playing.        -   DiscLength=InterActual.TotalElapsedTime    -   Media Supported

DVD Video DVD Audio CD Audio X

A.2.3 InterActual.TotalTime

-   -   Summary        -   Returns the total time of current title (in milliseconds).            For CD-DA, it returns the total time for the current disc.    -   Return Value

JavaScript Signed 4 byte (32-bit) integer ranging from 0 to 2³¹ − 1Number

-   -   Example        -   Query the length of the current title.        -   TitleLength=InterActual.TotalTime    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.4 InterActual.TitleNumber

-   -   Summary        -   Returns the currently playing title number.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-99

-   -   Example        -   Query the current title number.        -   TitleNum=InterActual.TitleNumber    -   Media Supported

DVD Video DVD Audio CD Audio X

A.2.5 InterActual.PGCNumber

-   -   Summary        -   Returns the currently playing PGC number.    -   Return Value

JavaScript Number Signed 2 byte integer ranging from “1” to “2¹⁵ − 1”

-   -   Example        -   Query the current PGC number for the current menu or title            space.        -   CurrPGCNum=InterActual.PGCNumber    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.6 InterActual.ChapterNumber

-   -   Summary        -   Returns the currently playing chapter number.    -   Return Value

JavaScript Number Signed 2 byte integer ranging from 1-999

-   -   Example        -   Query the current chapter number.        -   CurrChapterNum=InterActual.ChapterNumber    -   Media Supported

DVD Video DVD Audio CD Audio X

A.2.7 InterActual.TrackNumber

-   -   Summary        -   Returns the currently playing track number.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-99

-   -   Example        -   Query the current track number.        -   FavoriteTrackNum=InterActual.TrackNumber    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.8 InterActual.PlayState

-   -   Summary        -   Returns the current play state.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 0-7 where: 0:Uninitialized 1: Play 2: Pause 3: Stop 4: Scanning Forward 5: ScanningBackward 6: Slow Forward Play 7: Slow Backward Play the values 6 & 7don't apply to CD-DA

-   -   Example        -   Query the current play state.        -   State=InterActual.PlayState    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.9 InterActual.Domain

-   -   Summary        -   Returns the current domain.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-8 where: 1: FirstPlay Domain 2: Video Manager Menu Domain 3: Audio Manager Menu Domain 4:Video Title Set Menu Domain 5: Title Domain 6: Title Group Domain 7:Stop State 8: Decoder Shutdown (computer only)

-   -   Example        -   Query the current domain.        -   currentDom=InterActual.Domain    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.10 InterActual.AudioNumber

-   -   Summary        -   Returns the current audio stream/selection number.    -   Return Value

JavaScript Number Signed 1 byte integer DVD-Video: Number of the Audiostreams in the Title Domain may range from 0 to 7 DVD-Audio: The Audioselection may be changed to 0 or 1

-   -   Example        -   Query the current audio stream/selection number.        -   audioStreamNumber=InterActual.AudioNumber    -   Notes        -   For DVD-Audio, only 1 audio stream is available in the            DVD-Audio zone. On a hybrid disc, the DVD-Video zone can            have a max of 2 audio streams.    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.11 InterActual.SubpictureNumber

-   -   Summary        -   Returns the current sub-picture stream number.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 0-31

-   -   Example        -   Query the current sub-picture stream number.        -   SubP=InterActual.SubpictureNumber    -   Notes        -   If this property returns a ninety-nine (99), then            sub-pictures are off.    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.12 InterActual.AngleNumber

-   -   Summary        -   Returns the current video angle.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-9

-   -   Example        -   Query the current video angle.        -   CurrAngle=InterActual.AngleNumber    -   Media Supported

DVD Video DVD Audio CD Audio X

A.2.13 InterActual.ParentalLevel

-   -   Summary        -   Returns the current parental level.    -   Return Value

JavaScript Number Signed 1 byte integer Parental level ranging from 1-8where 1 = G 2 = Reserved 3 = PG 4 = PG13 5 = Reserved 6 = R 7 = NC-17 8= Reserved

-   -   Example        -   Query the parental level.        -   CurrPlvl=InterActual.ParentalLevel    -   Notes        -   Upon the start of playback, this property can be tested to            avoid playback of material at a higher level than parents            may allow.    -   Media Supported

DVD Video DVD Audio CD Audio X

A.2.14 InterActual.ButtonNumber

-   -   Summary        -   Returns the number of the currently highlighted button.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-36

-   -   Example        -   Query the number of the currently highlighted button on the            menu.        -   SelectedButton=InterActual.ButtonNumber    -   Notes        -   Up to 36 rectangular buttons can be on the screen (which are            capable of being highlighted). In the case of wide screen            content (with anamorphic, auto-letterbox, or auto pan & scan            modes), only 18 buttons are allowed per screen (when two            modes are used). Only 12 buttons are allowed per screen when            all three modes are used.    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.15 InterActual.TotalNumAudio

-   -   Summary        -   Returns the total number of audio streams available for            current title/title group.    -   Return Value

JavaScript Number Signed 1 byte integer DVD-Video: ranging from 0-8; 0means no audio DVD-Audio: ranging from 0-1

-   -   Example        -   Query the total number of audio streams in the title/title            group.        -   TotalTracksAudio=InterActual.TotalNumAudio    -   Notes        -   For DVD-Audio, only 1 audio stream is available in the            DVD-Audio zone. On a hybrid disc, the DVD-Video zone can            have a max of 2 audio streams.    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.16 InterActual.TotalTracks

-   -   Summary        -   Returns the total number of audio tracks available for            current CD-DA disc.    -   Return Value.

JavaScript Number Signed 1 byte integer ranging from 1-99

-   -   Example        -   Query the total number of audio tracks on this CD-DA disc.        -   TotalTracksOnDisc=InterActual.TotalTracks    -   Media Supported

DVD Video DVD Audio CD Audio X

A.2.17 InterActual.TotalTitles

-   -   Summary        -   Returns the total number of titles available for current            disc.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-99

-   -   Example        -   Query the total number of titles on this disc.        -   TotalTitlesOnDisc=InterActual.TotalTitles    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.18 InterActual.TotalNumSubpicture

-   -   Summary        -   Returns the number of sub-picture streams currently            available.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 0-31; 0 means noneare available

-   -   Example        -   Query the number of sub-picture streams available.        -   TotalAvailSubP=InterActual.TotalNumSubpicture    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.19 InterActual.TotalNumAngle

-   -   Summary        -   Returns the total number of available angles.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-9

-   -   Example        -   Query the total number of available angles.        -   TotalAvailAngles=InterActual.TotalNumAngle    -   Media Supported

DVD Video DVD Audio CD Audio X

A.2.20 InterActual.TotalNumButton

-   -   Summary        -   Returns the total number of buttons on the current menu.    -   Return Value

JavaScript Signed 1 byte integer ranging from 0-36; 0 means none (noNumber buttons on this menu; the user must use “next” to advance)

-   -   Example        -   Query the number of buttons on the current menu.        -   TotalAvailButtons=InterActual.TotalNumButton    -   Notes        -   Up to 36 rectangular buttons can be on the screen (which are            capable of being highlighted). In the case of wide screen            content (with anamorphic, auto-letterbox, or auto pan & scan            modes), only 18 buttons are allowed per screen (when two            modes are used). Only 12 buttons are allowed per screen when            all three modes are used.    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.21 InterActual.MajorVersion

-   -   Summary        -   This property returns the platform major version (e.g. if            the API version is 1.03, it will return MajorVersion as            “1”). This field can also be used to determine the parsing            of certain bits in InterActual.SupportedFeatures.    -   Return Value

JavaScript Returns major version unique to each playback system; Numbersigned 2 byte integer

-   -   Example        -   Query the major version of InterActual API for the current            device.        -   API_MajorVers=InterActual.MajorVersion        -   If API_MajorVers>1 . . .    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.22 InterActual.MinorVersion

-   -   Summary        -   This property returns the platform minor version (e.g. if            the version is 1.03, it will return “03” for MinorVersion).            This field can also be used to determine the parsing of            certain bits in InterActual.SupportedFeatures.    -   Return Value

JavaScript Returns minor version unique to each playback system; Numbersigned 2 byte integer. There are 2 digits to the minor version and theyare both important. Since the property returns a number, this is how thenumber must be interpreted by any JavaScript programmer: Return ValueVersion 0 x.00 1 x.01 2 x.02 3 x.03 4 x.04 5 x.05 6 x.06 7 x.07 8 x.08 9x.09 10  x.10 11  X.11 . . . . . . 30  x.30 . . . and so forth.

-   -   Example        -   Query the minor version of InterActual API for the current            device.        -   API_MinorVers=InterActual.MinorVersion        -   If API_MinorVers>5 . . .    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.23 InterActual.PlayerMode

-   -   Summary        -   This property returns the default mode for playback of discs            as configured by the system's configuration application.        -   If this is InterActual mode, then the system will play it as            authored launching INDEX.HTM (see the API Directory            Structure appendix for details). If the user specifies that            the system should play discs in Play mode, then this will            override how the disc was authored and always start in            linear movie playback.    -   Return Value

Char string Returns a signed 32 byte value of the player mode incharacters, either “Play” or “InterActual“

-   -   Example        -   Query the player mode of InterActual API for the current            device.        -   mode=InterActual.PlayerMode    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.24 InterActual.MaxFast

-   -   Summary        -   Returns the maximum number of fast speeds.    -   Return Value

JavaScript Signed 1 byte integer Number of fast speeds ranging Numberfrom 0-99

-   -   Example        -   Get the total number of fast speeds supported.        -   x=InterActual.MaxFast    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.25 InterActual.MaxFastReverse

-   -   Summary        -   Returns the maximum number of reverse fast speeds.    -   Return Value

JavaScript Signed 1 byte integer Number of reverse fast speeds Numberranging from 0-99

-   -   Example        -   Get the total number of reverse fast speeds supported.        -   x=InterActual.MaxFastReverse    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.2.26 InterActual.MediaID

-   -   Summary        -   Returns a unique identifier for the current disc side.    -   Return Value

Char A 128-bit unique media (title) identifier that is translated stringinto a hex character string in the same fashion as a Windows GUID, e.g.“A0739DE5571F11D2A0310060977F760C”. This pattern is 32 hexadecimalcharacters.

-   -   Example        -   Query for the unique disc identifier:        -   discID=InterActual.MediaID    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.27 InterActual.DiscType

-   -   Summary        -   The DiscType property returns the disc format to the            application.    -   Return Value

JavaScript Number Signed 1 byte integer 0-255. A disc may be only one ofthe following types: 0: drive is empty or in an unknown state 1:CD-Audio 2: DVD-Video only 3: DVD-Video and CD-DA 4: DVD-Audio only 5:DVD-Audio and CD-DA 6: DVD-Audio and DVD-Video 7: DVD-Audio andDVD-Video & CD-DA 8-255: reserved Note: some of these hybridcombinations may not exist in the market at this time.

-   -   Example        -   Query the disc media type:        -   discInfo=InterActual.DiscType    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.28 InterActual.Bookmark

-   -   Summary        -   Returns the number of the bookmark for the current disc if            it has been saved.    -   Return Value

JavaScript Signed 1 byte integer ranging from 1-32 will Number return 0if there is no bookmark saved.

-   -   Example        -   Query the bookmark for the current disc if there is one.        -   CurBkMk=InterActual.Bookmark        -   If(CurBkMk=MyBkMk) //test to see if its mine        -   InterActual.GotoBookmark    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.29 InterActual.ROMType

-   -   Summary        -   The ROMType property queries the type of ROM data that is            contained on the DVD (e.g. the format of the HTML tags and            JavaScript calls).    -   Return Value

JavaScript Number Signed 1 byte integer 0-255. The ROM type may be onlyone of the following types: 0 = No DVD-ROM data present 1 = UnknownDVD-ROM material present 2 = PCFriendly 3 = InterActual API 4 =InterActual Player Only (computer only) 5-255 = reserved

-   -   Example        -   Query the ROM type:        -   ROMInfo=InterActual.ROMType    -   Notes        -   The mechanism for setting these bits is to be as follows:            -   For DVD-ROM material, test to see if there is any file                in the main directory other than those in the VIDEO_TS                and AUDIO_TS and JACKET_P directories.            -   For PCFriendly, test to see if the DISC.ID file is                present in the root directory, and the section heading                [PCFriendly] exists.            -   For InterActual compatibility, test to see if the                COMMON\INDEX.HTM file is present (or INDEXI.HTM—see the                API Directory Structure appendix) and read the HTML                meta-data to determine the minimum required API version                for the ROM content (see the Appendix describing Meta                data information).            -   For InterActual Player Only, test to see if the DISC.ID                file is present in the root directory, and the section                heading [InterActual] exists, then be sure there are no                files named INDEX*.HTM in the COMMON directory.        -   Other data and programs may be on the discs as well, for            instance, a Macintosh PCFriendly disc may contain platform            specific code. It will be classified as PCFriendly if it            meets the requirements above.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.30 InterActual.InternetStatus

-   -   Summary        -   Returns the current Internet connection status.        -   The list of return values is exhaustive to allow for a fine            granularity of possibilities across the various platforms            supported (computers, game machines and set top players).            Hence, a device could be built with no connectivity option            whatsoever, only rendering HTML and JavaScript from local            sources, e.g. the disc ROM. Additionally, a device may offer            an after-sale option to add connectivity through a network            module or MODEM. Return value “1” would cover this situation            where the system is capable of connecting, but the option is            not installed. Return value “2” would cover the situation            where a network session (PSTN or LAN, etc) is not currently            established. A “3” would be returned while a connection is            being established or if a connection has dropped is being            re-established by the system.        -   Additionally, some platforms may have no reliable method to            establish the connection speed and return only a “4”.    -   Return Value

JavaScript Signed 1 byte integer Connection status as follows: Number  0= no connectivity option available, ever  1 = connectivity option notcurrently installed  2 = connectivity option installed, not online(offline)  3 = connectivity option installed, status unknown  4 =online, speed unknown 10 = up to 28K 11 = up to 56K 12 = up to 128K 13 =up to 1.5 M 14 = up to 10 M 15 = up to 100 M 16 = greater than 100 Mothers reserved

-   -   Example        -   Query the Internet status.        -   ConnectStatus=InterActual.InternetStatus    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.2.31 InterActual.FullScreenMode

-   -   Summary        -   Returns the current state of full screen mode.    -   Return Value

JavaScript Number Signed 1 byte integer Status as follows: 0 = not infull screen mode 1 = in full screen mode

-   -   Example        -   Query the full screen mode status.        -   FullScreenModeStatus=InterActual.FullScreenMode    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   A.3 Events

Events are integral to synchronizing DVD-Video with other media. Withthese events, web pages can be synchronized with the audio or video. Forexample, each ChapterEvent (start of new chapter) can trigger an HTMLstoryboard that corresponds to the movie. Time based events can be usedto coordinate advertising messages in HTML while the video is playing:when James Bond is driving his BMW, an appropriate web page (BMW or autosales site) can automatically be displayed at the same time.

The value of events is that these external media do NOT have to beembedded or even be known at the time the DVD-Video is authored. Thisflexibility keeps DVD-Video authoring on schedule and greatly minimizesthe authoring costs while adding valuable and unique features to eachdisc.

Events can be used by the calling application (HTML/JavaScript, C++, orother) to receive notification of DVD playback status. There is anEventHandler function required which will switch on the event type index(see below) and call the appropriate function. If a platform does notsupport an event, then an error code must be returned when its use isattempted. Here is an example of an event handler in JavaScript:

<OBJECT ID=“InterActual”CLASSID=“clsid:A0739DE5-571F-11D2-A0310060977F760C” BORDER=“1” WIDTH=50%HEIGHT=60% > </OBJECT> <SCRIPT LANGUAGE=“JavaScript”> functionEventHandler(index,parm1,parm2,parm3) { switch(index) { case0://reserved break; case 1://title event TitleEvent(parm1); break; case2://chapter event ChapterEvent(parm1); break; case 3://PGC eventPGCEvent(parm1); break; case 4://Time event TimeEvent(parm1,parm2);break; // etc . . . - see index list below default: UnknownEvent(parm1,parm2, parm3); break; } } // The following is the private function thatwill take // parameters 1 and 2 which are elapsed and total time. // Thename is up to the author, but must match the case // statement in theEvent Handler routine. function TimeEvent(elapsedTime, totalTime) {//Synchronize my graphic at 15 seconds if (elapsedTime ==15000) document.images[0].src = “bmw.gif” } </SCRIPT>

The following table lists the event indices that will be generated bythe browser. There is a skip in the enumeration for advanced events andplatform-specific events. We have reserved unique events for specificplatforms like the PC or Macintosh.

There is a command enabling subscribing to events or unsubscribing toevents (see Interactual.SubscribeToEvent listed in the command section).

-   -   Note: By default, all events listed in the base API are        subscribed to with the exception of        -   The Info event (index 21)        -   The RC Button event (index 22) and        -   The Net event (index 24).    -   In addition to these events, all advanced and platform-specific        events are not subscribed to and must be explicitly subscribed        to.

The table lists event the index and which parameter is returned. Thedetails for each event type and associated parameters follow, howeverTitleGroup and Slide are described in the DVD-Audio section of thisdocument, as they are specific to DVD-Audio only.

TABLE 6 Event Indices Index Event Type value Parm1 Parm2 Parm3 Reserved0 Title 1 titleNum Chapter 2 chapterNum PGC 3 pgcNum Time 4 elapsedTimetotalTime TrackTime 5 trackNum elapsedTime totalTime TitleGroup 6groupNum Track 7 trackNum Slide 8 slideNum Angle 9 angleNum State 10stateNum Speed 11 speedNum UOPs 12 uopFields Domain 13 domainNum Audio14 audioNum Subpicture 15 subpictureNum Parental 16 parentalNum Region17 regionNum Eject 18 Insert 19 GPRM 20 regNum regVal Info 21 RCButton22 rcButton NumAngles 23 totalNum Net 24 NetStateNum Reserved 25Advanced Events Mouse 50 MouseButton x y Menu Button 51 MenuButtonKaraoke 52 KaraokeNum Still 53 State CC Text 54 CcText Platform SpecificPC 100-110 FullScreen 100 Transition Macintosh 111-120 Linux 121-130Nuon 131-140 Nintendo 141-150 Sega 151-160 Sony 161-170 X Box 171-180Reserved 181-190 Reserved 191-200

The following list of InterActual API events must be supported and thenumber and meaning of the parameters they will receive is detailed. Forexample, the title event is index number 1 and a private function (suchas TitleEvent) will receive one parameter (the others will be null) andit will be the new title number (see below for an explanation).

Sample private event functions:

A.3.1 Title Event

-   -   Summary        -   Called when the title changes. Returns the new title number            in titleNum.    -   Return Parameters

titleNum Signed 1 byte integer ranging from 1-99

-   -   Example        -   Trigger an event when playback reaches Title 3:

<SCRIPT LANGUAGE=“JavaScript”> function TitleEvent(titleNum) If(titleNum == 3) { // Perform function once Title 3 has been trapped }</SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.2 Chapter Event

-   -   Summary        -   Called when the chapter changes. Returns the new chapter            number in chapterNum.    -   Return Parameters

chapterNum Signed 2 byte integer Chapter index ranging from 1-99 forOne_Sequential_PGC_Title Chapter index ranging from 1-999 forMulti_PGC_Title

-   -   Example        -   Trigger an event when playback reaches chapter 2 of Title 1:

<SCRIPT LANGUAGE=“JavaScript”> function ChapterEvent(chapterNum) If(chapterNum == 2) { // Trigger event once in Chapter 2 } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X

A.3.3 PGC Event

-   -   Summary        -   Called when the PGC changes. Returns the new PGC number in            PGCNum.    -   Return Parameters

PGCNum Signed 2 byte integer ranging from 1 to 2¹⁵ − 1

-   -   Example        -   Trigger an event when playback reaches PGC 2 of Title 1:

<SCRIPT LANGUAGE=“JavaScript”> function PGCEvent(PGCNum) If (PGCNum ==2) { // Trigger event once in PGC 2 } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X

A.3.4 Time Event

-   -   Summary        -   Called on a time change. Returns the elapsed time and total            time, both in milliseconds.    -   Return Parameters

elapsedTime Elapsed time, signed 4 byte (32-bit) integer ranging from 1to 2³¹ − 1 totalTime Total time, signed 4 byte (32-bit) integer rangingfrom 1 to 2³¹ − 1 (~2²⁴ is the practical limit)

-   -   Example        -   Trigger the display of a graphic when playback reaches 15            seconds of Title 1:

<SCRIPT LANGUAGE=“JavaScript”> function TimeEvent(elapsedTime,totalTime) if (elapsedTime == 15000) { document.images[0].src =“bmw.gif” //Display my graphic at 15 seconds } </SCRIPT>

-   -   Notes        -   This event should trigger approximately every 900            milliseconds while in play mode.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.3.5 Track Time Event

-   -   Summary        -   Called on a time change within the context of a CD track.            Returns the elapsed time and total time (both in            milliseconds).    -   Return Parameters

trackNum Track number associated with this time event signed 1 byteinteger ranging 1-99 elapsedTime Elapsed time into track, signed 4 byte(32-bit) integer ranging from 1 to 2³¹ − 1 totalTime Total time intotrack, signed 4 byte (32-bit) integer ranging from 1 to 2³¹ − 1 (~2²⁴ isthe practical limit)

-   -   Example        -   Trigger the display of a graphic when playback reaches 15            seconds into CD track 4:

<SCRIPT LANGUAGE=“JavaScript”> function TrackTimeEvent(trackNum,elapsedTime, totalTime) if (trackNum == 4) && (elapsedTime == 15000) {document.images[0].src = “PhilKeaggy.gif” //Display graphic at 15seconds } </SCRIPT>

-   -   Notes        -   This event should trigger approximately every 900            milliseconds while in play mode.    -   Media Supported

DVD Video DVD Audio CD Audio X

A.3.6 Track Event

-   -   Summary        -   Called when the track changes. Returns the new track number            in trackNum.    -   Return Parameters

trackNum Signed 1 byte integer ranging from 1-99

-   -   Example        -   Trigger an event when playback reaches track 5:

<SCRIPT LANGUAGE=“JavaScript”> function TrackEvent(trackNum) If(trackNum == 5) { // Trigger event once in Track 5 } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.7 Angle Event

-   -   Summary        -   Called on angle change. Returns the new angle number in            angleNum.    -   Return Parameters

angleNum New angle number, signed 1 byte integer ranging from 1-9

-   -   Example        -   Trigger an event when angle number 3 is selected:

<SCRIPT LANGUAGE=“JavaScript”> function AngleEvent(angleNum) if(angleNum == 3) { // Trigger event once angle 3 is reached } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X

A.3.8 State Event

-   -   Summary        -   Called on state change, e.g. when the play state changes            from play to pause.    -   Return Parameters

stateNum State number, signed 1 byte integer ranging from 0-7 0: None 1:Play 2: Pause 3: Stop 4: Scanning Forward 5: Scanning Backward 6: SlowForward Play 7: Slow Backward Play

-   -   Example        -   Trigger an event when playback is paused:

<SCRIPT LANGUAGE=“JavaScript”> function StateEvent(stateNum) if(stateNum == 2) { // Trigger event base on pause } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.9 Speed Event

-   -   Summary        -   Called on speed change, e.g. when changed from play to            scanning. Returns the new speed information.    -   Return Parameters

speedNum Speed number, signed 1 byte integer ranging from 1-99

-   -   Example        -   Trigger an event when speed is changed:

<SCRIPT LANGUAGE=“JavaScript”> function SpeedEvent(speedNum) if(speedNum == 8) { // Trigger event upon speed transition to 8× }</SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.10 UOP Event

-   -   Summary        -   Called when any UOP changes. Returns the new UOP fields.    -   Return Parameters

uopFields UOP fields; signed 4 byte (32-bit) number (see the commandInterActual.ValidUOP for the list)

-   -   Example

<SCRIPT LANGUAGE=“JavaScript”> function UOPEvent(uopFields) if(uopFields & 0x00000001) { // Display disabled state of // PlayTimegraphic since playback is prohibited } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X

A.3.11 Domain Event

-   -   Summary        -   Called when the domain changes. Returns the new domain            number.    -   Return Parameters

domainNum Signed 1 byte integer Domain number ranging from 1-8: 1: FirstPlay Domain 2: Video Manager Menu Domain 3: Audio Manager Menu Domain 4:Video Title Set Menu Domain 5: Title Domain 6: Title Group Domain 7:Stop State 8: Decoder Shutdown (computer only)

-   -   Example        -   Trigger an event when domain changes to Title domain:

<SCRIPT LANGUAGE=“JavaScript”> function DomainEvent(domainNum) if(domainNum == 5) { // Trigger event on title domain change } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.12 Audio Event

-   -   Summary        -   Called when there is a change in the audio stream number.            Returns the new audio number in audioNum.    -   Return Parameters

audioNum Audio stream number, signed 1 byte integer ranging from 0-7

-   -   Example        -   Trigger an event when audio stream changes:

<SCRIPT LANGUAGE=“JavaScript”> function AudioEvent(audioNum) if(audioNum == 4) { // Trigger event based on audio stream change tostream 4 } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.13 Subpicture Event

-   -   Summary        -   Called when there is a change in sub-pictures. Returns the            new sub-picture number in subpictureNum.    -   Return Parameters

subpictureNum Sub-picture number, signed 1 byte integer ranging from0-31 If the value returned is 99, then this means sub-pictures wereturned off.

-   -   Example        -   Trigger an event when sub-picture stream changes:

<SCRIPT LANGUAGE=“JavaScript”> function SubpictureEvent(subpictureNum)if (subpictureNum == 2) { // Trigger event based on sub-picture changeto stream 2 } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.14 Parental Event

-   -   Summary        -   Called when parental control changes.    -   Return Parameters

parentalNum Parental level number, signed 1 byte integer ranging from1-8

-   -   Example        -   Set the ParentalEvent and test when it triggers:

<SCRIPT LANGUAGE=“JavaScript”> function ParentalEvent(parentalNum) if(parentalNum > 3) { // do stuff here . . . } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.15 Region Event

-   -   Summary        -   Called when there is a mismatch in the region of the device            and disc.    -   Return Parameters

regionNum Region code of the disc; signed 1 byte integer 0x00 = unknowndisc region 0x01 = Region 1 0x02 = Region 2 0x04 = Region 3 0x08 =Region 4 0x10 = Region 5 0x20 = Region 6 0x40 = Reserved 0x80 = Reservedfor sign

-   -   Example        -   Trigger an event when a region mismatch occurs:

<SCRIPT LANGUAGE=“JavaScript”> function RegionEvent(regionNum) if(regionNum == 01) { // Trigger event when disc is NA; SPRM20 has systemregion } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.3.16 Eject Event

-   -   Summary        -   Called when the disc is ejected from the device.    -   Return Parameters        -   None    -   Example

<SCRIPT LANGUAGE=“JavaScript”> function EjectEvent( ) // Trigger eventbased on disc ejection </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.3.17 Insert Event

-   -   Summary        -   Called when a disc is inserted.    -   Return Parameters        -   None    -   Example        -   Trigger an event when the disc is inserted:

<SCRIPT LANGUAGE=“JavaScript”> function InsertEvent( ) // Trigger eventbased on disc insertion </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.3.18 GPRM Event

-   -   Summary        -   Called when a GPRM changes. Returns register number and            register contents.    -   Return Parameters

regNum GPRM Register Number signed 1 byte value ranging from 0 to 15regVal New value of GPRM; Unsigned 2 byte (16-bit) value

-   -   Example        -   Trigger an event when GPRM(15) changes:

<SCRIPT LANGUAGE=“JavaScript”> function GPRMEvent(regnum, regVal) if ((regNum == 15) && (regVal == 10) ) { // Trigger event based on GPRM(15)= 10 } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.19 Info Event

-   -   Summary        -   Called when the user requests information. This event will            be triggered by a button on a computer window or a button on            the remote control (for a set top player) being pressed. The            content (namely, the JavaScript private function for the            title) will determine the course of action.    -   Return Parameters        -   none    -   Example        -   Trigger an information request event because the RC button            was pressed. In this case, if the title is 23, we will load            a web page.

<SCRIPT LANGUAGE=“JavaScript”> function InfoLinkEvent( ) IfInterActual.TitleNum == 23 { // . . .load page associated with title 23} </SCRIPT>

-   -   Notes        -   This event type, by default, is not subscribed to. It must            be explicitly subscribed to using SubscribeToEvent.    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.20 RC Button Event

-   -   Summary        -   Called when a button on the remote control (RC) has been            pressed. Returns the button number from the list below.    -   Return Parameters

rcButton Button number, signed 1 byte integer ranging from 1-99  1: Stop 2: Pause  3: Play  4: Previous Chapter/Track  5: Next Chapter/Track  6:Fast Forward  7: Fast Reverse  8: Scan/Slow forward  9: Scan/Slowreverse 10: DVD Menu 11: Title 12: Audio 13: Angle 14: Subtitle orSubpicture 15: Up arrow 16: Down arrow 17: Left arrow 18: Right arrow19: Select 20: Play Handler (for computer control; not sent duringplayback) 21: Fullscreen

-   -   Example        -   Trigger an event based on button event.

<SCRIPT LANGUAGE=“JavaScript”> function RCButtonEvent(rcButton) if(rcButton == 5){ // Trigger event based on Next button pressed }</SCRIPT>

-   -   Notes        -   This event type, by default, is not subscribed to. It must            be explicitly subscribed to using SubscribeToEvent.    -   Media Supported

DVD Video DVD Audio CD Audio X X

A.3.21 Number of Angles Event

-   -   Summary        -   Called when the total number of angles has changed. Returns            the new total number of angles in totalNum.    -   Return Parameters

totalNum Total number of angles available, signed 1 byte integer rangingfrom 1-9

-   -   Example        -   Trigger an event when the total number of angles is greater            than 1:

<SCRIPT LANGUAGE=“JavaScript”> function NumAnglesEvent(totalNum) if(totalNum > 1) { // Trigger when multiple angles are available }</SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X

A.3.22 Net Event

-   -   Summary        -   Called on state change of the network connectivity.    -   Return Parameters

NetStateNum State number, signed 1 byte integer ranging from 0-4 4:Initializing the network interface or MODEM 3: Waiting for dial-tone orsignal 2: Dialing or connecting 1: Logging in to service 0: Connected

-   -   Example        -   After subscribing to this event and calling the NetConnect(            ) interface, this event will trigger as the connection is            being established:

<SCRIPT LANGUAGE=“JavaScript”> function NetEvent(NetStateNum) If(NetStateNum == 0)  { // Load page . . . } </SCRIPT>

-   -   Notes        -   This event type, by default, is not subscribed to. It must            be explicitly subscribed to using SubscribeToEvent.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

A.4 Interface Applicability

The following matrix depicts the applicability of each component of theinterface (commands, properties and events) depending upon the state ofthe system. An “X” indicates that the entity is executable in this stateif the user operations (UOP bits) allow it; these bits are set by thedisc content itself.

Stop state means no specific title is selected and on computers, the DVDnavigator is not instantiated.

File open means the state reached when calling the advanced API “Open”command with a filename as the argument. In other words, the DVDnavigator is instantiated and a file, not a DVD title, has beenselected. Hence, the DVD navigation features are not available.

If the JavaScript calls InterActual.Open(“DVDVideo”) you willautomatically transition to the Play state because First PGC will beplayed.

No Disc Fileopen Stop Play Menu BASIC INTERACTUAL API COMMANDSInterActual.Play X X InterActual.PlayTitle X X X InterActual.PlayChapterX X X InterActual.PlayChapterAutoStop InterActual.PlayTime X X XInterActual.PlayTimeAutoStop InterActual.PlayTitleGroup X X XInterActual.PlayTrack X X X InterActual.SearchChapter X XInterActual.SearchTime X X InterActual.SearchTrack X X XInterActual.TotalNumChapters X InterActual.NextPG X X InterActual.PrevPGX X InterActual.GoUp X InterActual.NextTrack X InterActual.PrevTrack XInterActual.TotalTrackTime X InterActual.NextSlide XInterActual.PrevSlide X InterActual.Pause X InterActual.Stop X XInterActual.FastForward X InterActual.Rewind X InterActual.Menu X X XInterActual.Resume  X? X InterActual.StillOff X XInterActual.SelectUpButton X X InterActual.SelectDownButton X XInterActual.SelectLeftButton X X InterActual.SelectRightButton X XInterActual.SelectButtonAndActivate X X InterActual.ActivateButton X XInterActual.SelectAudio X  X? InterActual.SelectSubpicture X  X?InterActual.SelectAngle X  X? InterActual.SelectParentalLevel X XInterActual.AudioLanguage X X X InterActual.AudioLanguageExtension X X XInterActual.SubpictureLanguage X X XInterActual.SubpictureLanguageExtension X X X InterActual.GetGPRM X X XInterActual.GetSPRM X X X InterActual.ValidUOP X X XInterActual.GetBCAField X X X InterActual.SupportedFeatures X X X X XInterActual.EnableSubpicture X X InterActual.SetGPRM X XInterActual.Mute X X X X X InterActual.FullScreen X XInterActual.GotoBookmark X X X InterActual.SaveBookmark ? X XInterActual.NetConnect X X X X X InterActual.NetDisconnect X X X X XInterActual.SubscribeToEvent X X X X X PROPERTIESInterActual.ElapsedTime X X InterActual.TotalElapsedTime XInterActual.TotalTime X X InterActual.TitleNumber XInterActual.PGCNumber X InterActual.ChapterNumber XInterActual.TitleGroupNumber X InterActual.TrackNumber XInterActual.SlideNumber X InterActual.PlayState X X X InterActual.DomainX X X InterActual.AudioNumber X InterActual.SubpictureNumber XInterActual.AngleNumber X InterActual.ParentalLevel XInterActual.ButtonNumber X X InterActual.TotalNumAudio XInterActual.TotalTracks X InterActual.TotalTitles X XInterActual.TotalNumSubpicture X InterActual.TotalNumAngle XInterActual.TotalNumButton X X InterActual.MajorVersion X X X X XInterActual.MinorVersion X X X X X InterActual.PlayerMode X X X X XInterActual.MaxFast X X InterActual.MaxFastReverse X XInterActual.MediaID X X X InterActual.DiscType X X X XInterActual.Bookmark X X X InterActual.ROMType X X XInterActual.InternetStatus X X X X InterActual.FullScreenMode X X EVENTSTitle Event X Chapter Event X PGC Event X Time Event X Track Time EventX Title Group Event X Track Event X Slide Event X Angle Event X StateEvent X X X Speed Event X UOP Event X X X Domain Event X X X Audio EventX Subpicture Event X Parental Event X Region Event X Eject Event X X XInsert Event X GPRM Event X X Info Event X X X X RC Button Event X X X XX Number of Angles Event X Note: For the RC Button Event, the subtype ofPlayHandler (20) will not be sent during playback (Play state or titledomain) so that it can be used for resume functionality.B The DVD-Audio Specific Interface

B.1 Commands

B.1.1 InterActual.PlayTitleGroup(g)

-   -   Summary        -   Start playback of the specified title group number.    -   Parameters

g Title group number ranging from 1-9 (within current Volume); signed 1byte integer

-   -   Example        -   Start playing the 3^(rd) title group.        -   InterActual.PlayTitleGroup(3)    -   Notes        -   This method shall not be used for playing a Hidden Group.            The method InterActual.HiddenPlayGroup( ) shall be used            instead.    -   See also        -   InterActual.PlayTrack(g,t)    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −3 NotSupported File type or feature not supported at thistime −2 UOPNotAllowed Operation not allowed by current UOP fields −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

B.1.2 InterActual.NextSlide( )

-   -   Summary        -   Presents the next visual display/slide in the display list            to the user.    -   Parameters        -   None required    -   Example        -   Step to the next slide on a DVD-Audio disc.        -   InterActual.NextSlide( )    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

B.13 InterActual.PrevSlide( )

-   -   Summary        -   Presents the previous visual display/slide in the display            list to the user.    -   Parameters        -   None required    -   Example        -   Display previous slide in a slide presentation on a            DVD-Audio disc.        -   InterActual.PrevSlide( )    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc

B.2 Properties

B.2.1 InterActual.TitleGroupNumber

-   -   Summary        -   Returns the currently playing title group number.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-9

-   -   Example        -   Query the current title group number.        -   TitleGrpNum=InterActual.TitleGroupNumber    -   Media Supported

DVD Video DVD Audio CD Audio X

B.2.2 InterActual.SlideNumber

-   -   Summary        -   Returns the currently playing slide/display number.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 1-99

-   -   Example        -   Query the current slide/display number.        -   CurrSlideNumber=InterActual.SlideNumber    -   Media Supported

DVD Video DVD Audio CD Audio X

B.3 Events

B.3.1 Title Group Event

-   -   Summary        -   Called when the title group changes. Returns the new title            group number in groupNum.    -   Return Parameters

groupNum Signed 1 byte integer ranging from 1-9

-   -   Example        -   Trigger an event when playback reaches Title Group 5:

<SCRIPT LANGUAGE=“JavaScript”> function TitleGroupEvent(groupNum) If(groupNum == 5) { // Trigger event once in Title Group 5 } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X

B.3.2 Slide Event

-   -   Summary        -   Called when the slide/display list changes. Returns the new            slide number in slideNum.    -   Return Parameters

slideNum Slide number, signed 1 byte integer ranging from 1-99

-   -   Example        -   Trigger an event when slide number 13 is reached:

<SCRIPT LANGUAGE=“JavaScript”> function SlideEvent(slideNum) if(slideNum == 13) { // Trigger event once on Slide 13 } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X

B.4 Advanced Commands

B.4.1 InterActual.HiddenPlayGroup(x)

-   -   Summary        -   Play hidden group if the 4 digit key number is entered            properly.    -   Parameters

x Four digit key number; signed 2 byte integer ranging from 0000-9999

-   -   Example        -   Play the hidden group, using the key number 1234.        -   InterActual.HiddenPlayGroup(1234)    -   See also        -   InterActual.HiddenPlayTrack(t,x)        -   InterActual.HiddenPlayTime(h,m,sx)    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

B.4.2 InterActual.HiddenPlayTrack(t,x)

-   -   Summary        -   Play the desired hidden or locked track within the hidden            group specified    -   Parameters

t Track number ranging from 1-99; signed 1 byte integer x Four digit keynumber, signed 2 byte integer ranging from 0000-9999

-   -   Example        -   Play the 5^(th) track of the hidden group, using the key            number 1234.        -   InterActual.HiddenPlayTrack(5,1234)    -   See also        -   InterActual.HiddenPlayGroup(x)        -   InterActual.HiddenPlayTime(h,m,s,x)    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

B.4.3 InterActual.HiddenPlayTime(h,m,s,x)

-   -   Summary        -   This command plays from specific time within the Hidden            Group.    -   Parameters

h Hours, integer ranging from 00-23; signed 1 byte integer m Minutes,integer ranging from 00-59; signed 1 byte integer s Seconds, integerranging from 00-59; signed 1 byte integer x Four digit key number;signed 2 byte integer ranging from 0000-9999

-   -   Example        -   Play starting at 2 minutes in within the Hidden Group, using            the key number 1234.        -   InterActual.HiddenPlayTime(0,2,0,1234)    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

B.4.4 InterActual.SelectTextLanguage(n)

-   -   Summary        -   Selects the language for the Audio Text Data.    -   Parameters

n Audio text language code; shall adhere ISO-639. See the language codessection in the appendix; Unsigned 2 byte char

-   -   Example        -   Set the audio text language to English, which is “en”.        -   InterActual.SelectTextLanguage(“en”)    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalidC Advanced InterActual API

The interface described in this appendix are not required, however theycan be implemented and an InterActual disc can interrogate the systemusing the SupportFeatures command to determine if the current devicesupports them.

C.1 Commands

C.1.1 InterActual.Open(filename|type)

-   -   Summary        -   Opens specified file name.    -   Parameters

filename Char string with file name (maximum of 256 chars) type Charstring as follows (max of 8 chars) “DVDVideo” “DVDAudio” “CDAudio”

-   -   Example        -   Open the DVD Video File for Playback.        -   InterActual.Open(“d:\\video_ts\\video_ts.ifo”)        -   InterActual.Open(“DVDVideo”)    -   Notes        -   Opening of VOB files and MPEG files are optional, but            suggested. Other file types are advanced features. An open            file can be played, paused, stopped; fast-forward and rewind            are not available. Stopping causes the file pointer to be            reset to the start of the file.    -   Requires        -   Currently, this command is only available on a computer            platform.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −4FileNotFound File not found −5 NoDisc Attempt to play with no disc −6ParmRangeErr Parameter out of range or invalid

C.1.2 InterActual.Slow(x)

-   -   Summary        -   Play the current DVD at speed x where the x=2 is for ½            speed.    -   Parameters

x x can range from 2-99; signed 1 byte integer

-   -   Example        -   Play the current DVD at ¼ the normal speed.        -   InterActual.Slow(4)    -   Notes        -   Some players may only allow values of 2, 4, 8, 16, and 32.            If Slow is supported a speed of ½ is required. Other speeds            may also be supported; decreasing powers of two are            recommended although any value from 2 to 99 is allowed            (integer reciprocal values are used for the speeds, such as            2 for ½ and 4 for ¼, etc).        -   If this command is used with a value not in the list, then            the underlying software will approximate to the nearest            available value (for instance 3 is specified and 4 is            chosen) rather than return with an error code.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

C.1.3 InterActual.Step(n)

-   -   Summary        -   This command steps playback of the DVD forward n frames.    -   Parameters

n n can range from 1-30; signed 1 byte integer

-   -   Example        -   Step playback of the DVD forward 1 frame at a time.        -   InterActual.Step(1)    -   Notes        -   Supported Features should be checked first to determine if            capability is supported.    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

C.1.4 InterActual.SlowReverse(x)

-   -   Summary        -   Play the current DVD at x speed in reverse (x=2 for ½            speed).    -   Parameters

x x can range from 2-99; signed 1 byte integer

-   -   Example        -   Play the current DVD in reverse at ½ the normal playback            speed.        -   InterActual.SlowReverse(2)    -   Notes        -   Supported Features should be checked first to determine if            capability is supported. See note on Slow for            recommendations.        -   Some players will only allow values such as 2, 4, 8, 16,            etc. If this command is used with a value not in the list,            then the underlying software will approximate to the nearest            available value (for instance 3 is specified and 4 is            chosen) rather than return with an error code.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

C.1.5 InterActual.Zoom(x,y)

-   -   Summary        -   This command will zoom, or scale, by a percentage factor of            x (horizontal) and y (vertical).    -   Parameters

x Unsigned 4 byte (32-bit), 100 times the percentage. Defaults to avalue of 10000 meaning 100%. y Unsigned 4 byte (32-bit), 100 times thepercentage. Defaults to a value of 10000 meaning 100%.

-   -   Example        -   Zoom to 200% maintaining the same aspect ratio.        -   InterActual.Zoom(20000, 20000)    -   Notes        -   Zoom parameters are based on a percentage, so integer values            of 10000 and 10000 (x and y) indicate 100% of normal full            screen display with no zoom. Normally the x and y scale            factors should be the same to maintain a correct aspect            ratio. When zooming to a value greater than 100%, by            default, the center point of the image remains on the center            of the display. Individual players may support various zoom            ranges, but 25% to 400% is recommended (2500<x,y<40000).        -   Panning allows moving the center point of the portion of the            image to be displayed. These x and y pan parameters are            provided as a percentage of the display from −50% to +50%            using integer values from −5000 to +5000. (This is done so            that the differences between NTSC and PAL do not have to be            calculated in pixels. Additionally, it may also be possible            to use the same HTML code for handling 4:3 and 16:9 as            well.) If the pan parameters would cause the display to pan            off the edge of the video, then the platform software shall            only set that panning parameter to the largest or smallest            value that keeps the video in the display area.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid −7 MemoryErr Not enoughmemory for operation

C.1.6 InterActual.Pan(x,y)

-   -   Summary        -   This command will set the center point of the zoomed display            to x,y coordinates based on the percentage of normal content            full screen display.    -   Parameters

x Unsigned 4 byte (32-bit), 100 times the percentage. Defaults to avalue of 0 y Unsigned 4 byte (32-bit), 100 times the percentage.Defaults to a value of 0.

-   -   Example        -   Set the center point to −10%, 10%.        -   InterActual.Pan(−1000, 1000)    -   Notes        -   Panning allows moving the center point of the portion of the            image to be displayed. These x and y pan parameters are            provided as a percentage of the display from −50% to +50%            using integer values from −5000 to +5000. (This is done so            that the differences between NTSC and PAL do not have to be            calculated in pixels. Additionally, it may also be possible            to use the same HTML code for handling 4:3 and 16:9 as            well.) If the pan parameters would cause the display to pan            off the edge of the video, then the platform software shall            only set that panning parameter to the largest or smallest            value that keeps the video in the display area.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid −7 MemoryErr Not enoughmemory for operation

C.1.7 InterActual.EnableCCText(n)

-   -   Summary        -   Enables or disables closed captioning.    -   Parameters

n If n is 0, then disable closed captioning (off) If n is 1, then enableclosed captioning (on) Signed 1 byte integer

-   -   Example        -   Enable closed captioning:        -   InterActual.EnableCCText(1)    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

C.1.8 InterActual.MenuLanguage(n, rc)

-   -   Summary        -   Returns the menu language character code for the specified            menu language.    -   Parameters

n Menu language number ranging from 1-30 will be likely, however 1-65535is the allowable range; signed 2 byte integer rc Character return value;unsigned 2 bytes char represented by the coded “Language Symbols”defined in ISO-639. See the language codes section in the appendix.

-   -   Return Value

Number Name Description 0 OK Successful execution but code not specified−1 GeneralError Unknown error condition −2 UOPNotAllowed Operation notallowed by current UOP fields −3 NotSupported File type or feature notsupported at this time −6 ParmRangeErr Parameter out of range or invalid

-   -   Example        -   Query the language information for menu language 1.        -   MenuLanguage=InterActual.MenuLanguage(1)    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.1.9 InterActual.SelectMenuLanguage(n)

-   -   Summary        -   Selects the language for the Video or Audio Manager Menu            according to the language code (n).    -   Parameters

n Menu language code; shall adhere to ISO-639. See the language codessection in the appendix; Unsigned 2 byte char

-   -   Example        -   Set the menu language to English, which is “en”.        -   InterActual.SelectMenuLanguage(“en”)    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

C.1.10 InterActual.SelectParentalCountry(n)

-   -   Summary        -   Selects the country for the parental level.    -   Parameters

n Country code to be set according to the Alpha-2 code defined inISO3166. 2 byte character

-   -   Example        -   Set the Parental Country Code to United States.        -   InterActual.SelectParentalCountry(“US”)    -   Notes        -   This command is only available in Stop State.    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−6 ParmRangeErr Parameter out of range or invalid

C.1.11 InterActual.SelectKaraoke(x)

Summary

-   -   -   This command changes the audio mode for Karaoke.

    -   Parameters

x Signed 1 byte integer; audio mode where x is 1: guide vocal 1 2: guidevocal 2 3: guide melody 1 4: guide melody 2 (if present) 5: sound effect(if present)

-   -   Example        -   Listen to the guide melody of the current Karaoke disc.        -   InterActual.SelectKaraoke(3)    -   Media Supported

DVD Video DVD Audio CD Audio X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

C.1.12 InterActual.SetMixVolume(x)

-   -   Summary        -   This command sets the primary audio steam volume level to            percentage x to allow over-mixing.    -   Parameters

X Percentage for audio stream volume. Signed 1 byte integer ranging from0-100 Setting x to 0 will mute the main audio.

-   -   Example        -   Set volume to 50%.        -   InterActual.SetMixVolume(50)    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

C.1.13 InterActual.Close( )

-   -   Summary        -   Close the driver and stop playback of the current DVD while            playing on a computer.    -   Parameters        -   None required    -   Example        -   Close the driver and stop playback.        -   InterActual.Close( )    -   Notes        -   This is a computer only command. A consumer electronics            device should treat this command as InterActual.Stop( ).    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

C.1.14 InterActual.ShowControls( )

-   -   Summary        -   Show the video controls while playing an InterActual disc on            a computer.    -   Parameters        -   None required    -   Example        -   Show the controls.        -   InterActual.ShowControls( )    -   Notes        -   This is a computer only command. A consumer electronics            device should ignore this command. The coordinate system for            both PC and Macintosh will be defined with top left as 0,0            with x moving from top left to top right and y moving from            top left to bottom left.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

C.1.15 InterActual.HideControls( )

-   -   Summary        -   Hide the video controls while playing an InterActual disc on            a computer.    -   Parameters        -   None required    -   Example        -   Hide the controls.        -   InterActual.HideControls( )    -   Notes        -   This is a computer only command. A consumer electronics            device should ignore this command. The coordinate system for            both PC and Macintosh will be defined with top left as 0,0            with x moving from top left to top right and y moving from            top left to bottom left.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

C.1.16 InterActual.ShowContextMenu(mask)

-   -   Summary        -   Controls the right mouse click context menu that displays on            a computer.    -   Parameters

mask Unsigned 1 byte integer 0x00 Suppress display of context menu 0x01Play, Pause, Stop 0x02 Fast forward and rewind 0x04 Next chapter,previous chapter 0x08 DVD Menu 0x10 Sub-picture, audio and angle menus0x20 Full screen menu 0x80 Exit menu

-   -   Example        -   Show all options in the context menu on a right mouse click        -   InterActual.ShowContextMenu(0xBF)    -   Notes        -   This is a computer only command. A consumer electronics            device should ignore this command.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

C.1.17 InterActual.PopUpMenu(n,x,y)

-   -   Summary        -   Displays and allows the audio languages, sub-pictures, and            angles to be set to those currently available.    -   Parameters

n Signed 1 byte integer 4 = Audio Language 5 = Sub-picture 6 = Angle x Xcoordinate on computer screen y Y coordinate on computer screen

-   -   Example        -   Show the pop up menu.        -   InterActual.PopUpMenu( )    -   Notes        -   This is a computer only command. A consumer electronics            device should ignore this command. The coordinate system for            both PC and Macintosh will be defined with top left as 0,0            with x moving from top left to top right and y moving from            top left to bottom left.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

C.1.18 InterActual.SuppressErrors(b)

-   -   Summary        -   Suppresses display of error messages.    -   Parameters

b Signed 1 byte integer If b = 0, suppress the display of messages If b= 1, display error messages

-   -   Example        -   Suppress all error messages.        -   InterActual.SuppressErrors(0)    -   Notes        -   This is a computer only command. A consumer electronics            device should ignore this command.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

C.1.19 InterActual.AutoMouseHide(b)

-   -   Summary        -   Show or hide the mouse cursor when the DVD is playing (this            is a toggle control). This method is for computers only.    -   Parameters

b Signed 1 byte integer When b = 0, do not hide mouse When b = 1,automatically hide mouse after 2 seconds

-   -   Example        -   Automatically hide the mouse after 2 seconds.        -   InterActual.AutoMouseHide(1)    -   Notes        -   By default, hiding of the mouse cursor occurs 2 seconds            after no activity. This method is for computers only.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −6ParmRangeErr Parameter out of range or invalid

C.1.20 InterActual.OpenDrive( )

-   -   Summary        -   This command provides control of the media drive to open the            drive, which will eject the media, or close the drive based            on the current state of the drive.    -   Parameters        -   None required    -   Example        -   Eject the media from the drive.        -   InterActual.OpenDrive( )    -   Notes        -   If the device is playing the playback must first be stopped            before the media can be ejected.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time

C.1.21 InterActual.Launch(a, p)

-   -   Summary        -   This command provides the ability to launch an application            co-located on the disc.    -   Parameters

a Application name and fully qualified path derived from theDiscDirectory property; Char string p Parameter list for application;Char string If this string contains a disc filename, the path must befully qualified.

-   -   Example        -   Launch the setup application for an extra from the disc.        -   ddir=InterActual.DiscDirectory;        -   InterActual.Launch(ddir+“/EXTRAS/”+“setup.exe”,“”);    -   Notes        -   Macintosh does not support parameter lists.        -   Note: The ability to launch another application from the            JavaScript is both a valuable feature and a potential            exposure to system security. As such, this command must be            limited to launch only files from the disc directory (as            derived from the DiscDirectory property)    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −4FileNotFound File not found −7 MemoryErr Not enough memory for operation

C.1.22 InterActual.PresentationMode(a,m)

-   -   Summary        -   This command sets the aspect ratio to either wide screen            (16:9) versus full frame (4:3), and the preference for the            video display mode when displaying 16:9 material on a 4:3            display.    -   Parameters

a Aspect ratio of output device; can range from 0-2 where 0: 4:3 device1: reserved 2: 16:9 signed 1 byte integer m Mode of 16:9; can range from0-2 where 0: wide 1: pan scan 2: letterbox signed 1 byte integer

-   -   Example        -   Set the mode to wide screen letterbox        -   InterActual.PresentationMode(2,2)    -   Notes        -   If the mode is not available on the disc, for instance no            wide screen 16:9 content, then this command will return a            “−3”, not supported.    -   Media Supported

DVD Video DVD Audio CD Audio X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

C.1.23 InterActual.Print(f)

-   -   Summary        -   This command provides the ability to print a file.    -   Parameters

f File name with fully qualified path; Char string

-   -   Example    -   Print the file Screenplay.txt from the disc.        -   ddir=InterActual.DiscDirectory;        -   InterActual.Print(ddir+“/EXTRAS/”+“screenplay.txt”);    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −4FileNotFound File not found −7 MemoryErr Not enough memory for operation

C.1.24 InterActual.PlayPeriodInTitleAutoStop(tsh,sm,ss,sf,eh,em,es,ef)

-   -   Summary        -   This command is similar to PlayTimeAutoStop however it            supports the use of frames versus milliseconds (as in            hh:mm:ss:ff). It starts playback in the specified title            number (t) at the specified start time in hours (sh),            minutes (sm), seconds (ss) and frames (sf) and ends at the            specified end time (using the same variables for hours,            minutes, seconds and frames: eh, em, es, ef). For DVD-Audio,            the first parameter represents the title group number (t).    -   Parameters

t DVD-Video: Title number ranging from 1-99 DVD-Audio: Title groupnumber ranging from 1-9 CD-Audio: Track number ranging from 0-99 whereif t = 0 then h, m, s are relative to the start of the CD-Audio, else tis the track number and the h, m, s are relative to that track Signed 1byte integer sh Start hour where h can range from 00-23; Signed 1 byteinteger sm Start minutes where m can range from 00-59; Signed 1 byteinteger ss Start seconds where s can range from 00-59; Signed 1 byteinteger sf Start frames where x can range from 0-30 to accommodateeither 25 or 30 frames per second. Signed 1 byte integer eh End hourwhere h can range from 00-23; Signed 1 byte integer em End minutes wherem can range from 00-59; Signed 1 byte integer es End seconds where s canrange from 00-59; Signed 1 byte integer ef End frames where x can rangefrom 0-30 to accommodate either 25 or 30 frames per second. Signed 1byte integer

-   -   Examples        -   Start playing from the specified time position of the            current title to the end position. For example to play title            2 from 1 hour, 10 minutes, 30 seconds, frame 7 in the title            to frame 20:        -   InterActual.PlayPeriodInTitleAutoStop(2,1,10,30,7,1,10,30,20)    -   Requires        -   DVD-Video: This command requires that the UOP0 operation be            permitted.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

-   -   Return Values

Number Name Description 0 OK Successful −1 GeneralError Unknown errorcondition −2 UOPNotAllowed Operation not allowed by current UOP fields−3 NotSupported File type or feature not supported at this time −5NoDisc Attempt to play with no disc −6 ParmRangeErr Parameter out ofrange or invalid

C.2 Properties

C.2.1 InterActual.CurrentMenuLanguage

-   -   Summary        -   Returns the current menu language.    -   Return Value

Char Unsigned 2 byte char as defined in ISO-639. See the language codessection in the appendix.

-   -   Example        -   Query the current menu language.        -   MyLanguage=InterActual.CurrentMenuLanguage    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.2 InterActual.TotalNumMenuLanguage

-   -   Summary        -   Returns the total number of menu languages available.    -   Return Value

JavaScript Number Signed 1 byte integer ranging from 0-99; 0 means noneavailable

-   -   Example        -   Query the number of menu languages available.        -   NumberMenuLang=InterActual.TotalNumMenuLanguage    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.3 InterActual.ParentalCountry

-   -   Summary        -   Returns the current parental country level.    -   Return Value

Char Country code to be set according to the Alpha-2 code defined inISO3166; unsigned 2 byte character string

-   -   Example        -   Query the parental country level.        -   PCountry=InterActual.ParentalCountry    -   Media Supported

DVD Video DVD Audio CD Audio X

C.2.4 InterActual.CCTextStatus

-   -   Summary        -   Returns the status of closed captioning.    -   Return Value

JavaScript Number Returns 0 if CC is disabled, or 1 if enable; Signed 1byte integer

-   -   Example        -   Get the status of closed captioning:        -   CCstatus=InterActual.CCTextStatus    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.5 InterActual.CCText

-   -   Summary        -   Returns the Closed Caption text string from the current            Group of Pictures (GOP).    -   Return Value

Character string Maximum of 256 characters of text

-   -   Example        -   Get the Closed Caption text:        -   CCstring=InterActual.CCText    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.6 InterActual.MaxSlow

-   -   Summary        -   Returns the maximum number of slow speeds supported.    -   Return Value

JavaScript Signed 1 byte integer Number of slow speeds ranging Numberfrom 0-99

-   -   Example        -   Get the total number of slow speeds supported.        -   x=InterActual.MaxSlow    -   Notes        -   This will return zero (0) if there are no slow speeds            supported.    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.7 InterActual.MaxSlowReverse

-   -   Summary        -   Returns the maximum number of reverse slow speeds supported.    -   Return Value

JavaScript Signed 1 byte integer Number of reverse slow speeds Numberranging from 0-99

-   -   Example        -   Get the total number of reverse slow speeds supported.        -   x=InterActual.MaxSlowReverse    -   Notes        -   This will return zero (0) if there are no reverse slow            speeds supported.    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.8 InterActual.DiscRegion

-   -   Summary        -   Returns the region code for the DVD.    -   Return Value

JavaScript Number Signed 1 byte integer 0x00 = unknown 0x01 = Region 10x02 = Region 2 0x04 = Region 3 0x08 = Region 4 0x10 = Region 5 0x20 =Region 6 0x40 = Reserved 0x80 = Reserved for sign

-   -   Example        -   Query the region code for the disc. Multi-region discs will            have multiple bits on.        -   region Code=InterActual.DiscRegion    -   Media Supported

DVD Video DVD Audio CD Audio X

C.2.9 InterActual.DiscDirectory

-   -   Summary        -   Returns the full path name corresponding to the location of            the currently inserted disc's root directory (computer            only). Hence, for a PC, we would expect “D:/” in most cases            if the DVD-ROM is on drive D.    -   Return Value

Character Character string containing pathname using “/” for directorystring separators on all platforms; maximum of 256 (computer only)

-   -   Example        -   Query for the current drive/path that contains the disc:        -   discPath=InterActual.DiscDirectory    -   Notes        -   Some platforms may be case sensitive in the file and            directory names. If this property is parsed and manipulated,            the programmer should adhere to the specific platform            standards.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

C.2.10 InterActual.LocalDirectory

-   -   Summary        -   Returns full path of the location corresponding to the local            InterActual player (computer only). On a PC, we would expect            to see “C:/Program Files/InterActual/InterActual Player/” if            it is installed on drive C.    -   Return Value

Character Character string containing pathname using “/” for directorystring separators on all platforms; maximum of 256 (computer only) Thiswill be NULL (“”) if there is no computer application.

-   -   Example        -   Query for the local directory information:        -   installedPath=InterActual.LocalDirectory    -   Notes        -   This value will be NULL if there is no computer application            and only an InterActual object embedded within a web page.        -   Some platforms may be case sensitive in the file and            directory names. If this property is parsed and manipulated,            the programmer should adhere to the specific platform            standards.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

C.2.11 InterActual.CurrentZoomX

-   -   Summary        -   Returns the current zoom x value    -   Return Value

JavaScript Number Value of x for zoom; unsigned 4 byte (32-bit) value

-   -   Example        -   Get the x value for the current zoom.        -   x=InterActual.CurrentZoomX    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.12 InterActual.CurrentZoomY

-   -   Summary        -   Returns the current zoom y value    -   Return Value

JavaScript Number Value of y for zoom; unsigned 4 byte (32-bit) value

-   -   Example        -   Get the y value for the current zoom.        -   y=InterActual.CurrentZoomY    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.13 InterActual.CurrentPanX

-   -   Summary        -   Returns the current Pan x value.    -   Return Value

JavaScript Number Value of x for pan; unsigned 4 byte (32-bit) value

-   -   Example        -   Get the x value for the current pan.        -   x=InterActual.CurrentPanX    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.14 InterActual.CurrentPanY

-   -   Summary        -   Returns the current Pan y value.    -   Return Value

JavaScript Number Value of y for pan; unsigned 4 byte (32-bit) value

-   -   Example        -   Get the y value for the current pan.        -   y=InterActual.CurrentPanY    -   Media Supported

DVD Video DVD Audio CD Audio X X

C.2.15 InterActual.MixVolume

-   -   Summary        -   Returns the current primary audio stream volume level as a            percentage of full volume.    -   Return Value

JavaScript Number Percentage for audio stream volume. Signed 1 byteinteger ranging from 0-100

-   -   Example        -   Get the current mix volume level.        -   MixVolume_percentage=InterActual.MixVolume    -   Media Supported

DVD Video DVD Audio CD Audio X X X

C.2.16 InterActual.FramesPerSecond

-   -   Summary        -   Returns the video frame rate for the current DVD title            correlating to NTSC/SECAM or PAL television frame rates.    -   Return Value

JavaScript Number 25: frames per second (NTSC/SECAM) 30: frames persecond (PAL) Signed 1 byte integer

-   -   Example        -   Get the current frames per seconds setting.        -   TV_TYPE=InterActual.FramesPerSecond    -   Media Supported

DVD Video DVD Audio CD Audio X X X

C.3 Events

Sample private advanced event functions

C3.1 Mouse Event

-   -   Summary        -   Called when the user clicks either the left or right mouse            button based on the video coordinates.        -   Returns mouse button number and coordinates.    -   Return Parameters

mouseButton Button, 0 = left mouse button, 1 = right mouse button x Xcoordinate of click, signed 2 byte integer ranging from 0-719 y Ycoordinate of click, signed 2 byte integer ranging from 0-479 or 575depending on NTSC versus PAL

-   -   Example        -   Trigger an event when user clicks the mouse:

<SCRIPT LANGUAGE=“JavaScript”> function MouseEvent(mouseButton, x, y) if(mouseButton == 0){ // Trigger event based on left mouse click }</SCRIPT>

-   -   Notes        -   The coordinate system for both PC and Macintosh will be            defined with top left as 0,0 with x moving from top left to            top right and y moving from top left to bottom left.    -   Media Supported

DVD Video DVD Audio CD Audio X X X

C3.2 Menu Button Event

-   -   Summary        -   Called when a button is highlighted. Returns the button            number.    -   Return Parameters

menuButton Button number, signed 1 byte integer ranging from 1-36

-   -   Example        -   Trigger an event based on button event.

<SCRIPT LANGUAGE=“JavaScript”> function MenuButtonEvent(menuButton) if(menuButton == 1){ // Trigger event based on button highlight }</SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

C3.3 Karaoke Event

-   -   Summary        -   Called when a Karaoke event changes.    -   Return Parameters

karaokeNum Karaoke event, where it will return a signed 1 byte integeras follows 1: if karaoke track has begun playing 0: if just finished

-   -   Example        -   Set the KaraokeEvent and test when it triggers:

<SCRIPT LANGUAGE=“JavaScript”> function KaraokeEvent(karaokeNum) if(karaokeNum == 1){ // do stuff while it is playing . . . } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

C.3.4 Still Event

-   -   Summary        -   Called when Still state changes, e.g. when change of state            from StillOn to StillOff or vice versa.    -   Return Parameters

state New state, signed 1 byte integer ranging from 0-1 0: StillOff now1: StillOn now

-   -   Example        -   Trigger an event when Still state changes:

<SCRIPT LANGUAGE=“JavaScript”> function StillEvent(state) if (state== 1)  { // Do something while still is up on screen } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

C.3.5 CC Text Event

-   -   Summary        -   Called when the CC text changes for a new GOP.    -   Return Parameters        -   None    -   Example        -   Trigger an event when the CC Text changes:

<SCRIPT LANGUAGE=“JavaScript”> function CCTextEvent( ) current =InterActual.CCText if (current.length) { // Display CC text somewhere }</SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X X

C3.6 FullScreen Event (PC only)

-   -   Summary        -   Called when video transitions from full screen to windowed            mode and vice versa.    -   Return Parameters

transition 1: video playback transitions from window to full screen mode0: video playback transitions from full screen to window mode Signed 1byte integer

-   -   Notes        -   This event is also thrown when playback is stopped            (returning a “0”). It is expected that the event monitor            code will call HideControls( ) upon receiving a return of            “0” and will call ShowControls( ) upon receiving a return of            “1”.    -   Example        -   Trigger an event when changing from full screen video to            windowed mode:

<SCRIPT LANGUAGE=“JavaScript”> function FS2Win(t) if (t == 0) { //Trigger here } </SCRIPT>

-   -   Media Supported

DVD Video DVD Audio CD Audio X

1. A method for reproducing contents information in an interactiveoptical disc device, comprising the steps of: a) synchronizing andreproducing data read from an interactive optical disc and contentsinformation sent and downloaded from a contents provider serverconnected via the Internet; b) if the sending of said contentsinformation from said contents provider server is suspended or delayed,generating a command for requesting re-sending of specific contentsinformation, with reference to specific information contained innormally reproduced last contents information, and sending the generatedcommand to said contents provider server; and c) reproducing saidspecific contents information re-sent from said contents provider serverin response to said command together with data read from saidinteractive optical disc while re-synchronizing it with said data readfrom said interactive optical disc.
 2. The method as set forth in claim1, wherein said specific information contained in said normallyreproduced last contents information includes at least one of playbacktime information, contents information offset information, and offsetinformation of said data read from said interactive optical disc.
 3. Themethod as set forth in claim 2, wherein said step b) includes the stepsof: b-1) checking said specific information contained in said normallyreproduced last contents information if the sending of said contentsinformation from said contents provider server is suspended or delayed;b-2) calculating information regarding re-synchronizable contentsinformation based upon said checked specific information; and b-3)generating a command for requesting re-sending of specific contentsinformation corresponding to the calculated information regarding saidre-synchronizable contents information and sending the generated commandto said contents provider server.
 4. The method as set forth in claim 3,wherein said information regarding said re-synchronizable contentsinformation is calculated with reference to a bandwidth of a currentnetwork bit rate.
 5. The method as set forth in claim 3, wherein saidcommand for requesting the re-sending of said specific contentsinformation includes a parameter, said parameter being said informationregarding said re-synchronizable contents information.
 6. The method asset forth in claim 3, wherein said step c) includes the steps of: c-1)extracting said specific information from said specific contentsinformation re-sent from said contents provider server; and c-2)re-synchronizing and reproducing said data read from said interactiveoptical disc and said re-sent specific contents information based uponthe extracted specific information.
 7. The method as set forth in claim6, wherein said step c) further includes the step of receiving a commandfor notification of the re-sending of said specific contents informationfrom said contents provider server before said step c-1) is performed.8. The method as set forth in claim 2, wherein said step b) includes thesteps of: b-1) if the sending of said contents information from saidcontents provider server is suspended or delayed, determining whether asize of contents information downloaded into a buffer memory of saidinteractive optical disc device and not reproduced yet is below apredetermined reference value; b-2) automatically pausing a datareproducing operation of said interactive optical disc if the size ofsaid contents information downloaded into said buffer memory and notreproduced yet is below said predetermined reference value; and b-3)generating said command for requesting the re-sending of said specificcontents information, with reference to said specific informationcontained in said normally reproduced last contents information, andsending the generated command to said contents provider server.
 9. Themethod as set forth in claim 8, wherein said step b-3) includes thesteps of: b-3-1) checking said specific information contained in saidnormally reproduced last contents information; b-3-2) calculatinginformation regarding contents information subsequent to said normallyreproduced last contents information based upon the checked specificinformation; and b-3-3) generating a command for requesting re-sendingof specific contents information corresponding to the calculatedinformation and sending the generated command to said contents providerserver.
 10. The method as set forth in claim 9, wherein said command forrequesting the re-sending of said specific contents information includesa parameter, said parameter being said information regarding saidcontents information subsequent to said normally reproduced lastcontents information.
 11. The method as set forth in claim 8, whereinsaid step c) includes the steps of: c-1) receiving a command fornotification of the re-sending of said specific contents informationfrom said contents provider server; c-2) after said re-sendingnotification command is received, extracting said specific informationfrom said specific contents information re-sent from said contentsprovider server; and c-3) re-synchronizing and reproducing said dataread from said interactive optical disc and said re-sent specificcontents information based upon the extracted specific information. 12.A method for providing contents information in a contents providerserver, comprising the steps of: a) sequentially sending data packetscontaining contents information whose sending is requested by aninteractive optical disc device connected via the Internet, and specificinformation regarding said contents information whose sending isrequested; b) if the sending of said requested contents information issuspended or delayed, receiving a command for requesting re-sending ofspecific contents information, from said interactive optical discdevice; and c) re-sending a data packet containing said specificcontents information and specific information regarding it to saidinteractive optical disc device in response to said command.
 13. Themethod as set forth in claim 12, wherein said sent contents informationis audio data to be reproduced synchronously with video data read froman interactive optical disc in said interactive optical disc device. 14.The method as set forth in claim 12, wherein said specific informationincludes at least one of playback time information, contents informationoffset information, and offset information of data read from aninteractive optical disc.
 15. The method as set forth in claim 12,wherein said command for requesting the re-sending of said specificcontents information includes a parameter, said parameter beinginformation regarding said specific contents information.
 16. The methodas set forth in claim 15, wherein said step c) includes the steps of:c-1) seeking a position of data corresponding to said informationregarding said specific contents information; c-2) sending a command fornotification of the re-sending of said specific contents information tosaid interactive optical disc device; and c-3) reading said specificcontents information at said position and re-sending said data packetcontaining said specific contents information and said specificinformation regarding it to said interactive optical disc device.
 17. Amethod for reproducing contents information in an interactive opticaldisc device, comprising the steps of: a) downloading and managing offsettable information from a contents provider server connected via theInternet; b) synchronizing and reproducing contents information sent anddownloaded from said contents provider server and data read from aninteractive optical disc; c) if the sending of said contents informationfrom said contents provider server is suspended or delayed, generating acommand for requesting re-sending of specific contents information, withreference to said offset table information, and sending the generatedcommand to said contents provider server; and d) reproducing saidspecific contents information re-sent from said contents provider serverin response to said command together with data read from saidinteractive optical disc while re-synchronizing it with said data readfrom said interactive optical disc.
 18. The method as set forth in claim17, wherein said offset table information includes playback timeinformation, offset information of said data read from said interactiveoptical disc and contents information offset information in a linkedmanner.
 19. The method as set forth in claim 17, wherein said step c)includes the steps of: c-1) extracting information regarding normallyreproduced last contents information from said offset table informationif the sending of said contents information from said contents providerserver is suspended or delayed; c-2) calculating information regardingre-synchronizable contents information based upon the extractedinformation; and c-3) generating a command for requesting re-sending ofspecific contents information corresponding to the calculatedinformation regarding said re-synchronizable contents information andsending the generated command to said contents provider server.
 20. Themethod as set forth in claim 19, wherein said information regarding saidre-synchronizable contents information is calculated with reference to abandwidth of a current network bit rate.
 21. The method as set forth inclaim 19, wherein said command for requesting the re-sending of saidspecific contents information includes a parameter, said parameter beingsaid information regarding said re-synchronizable contents information.22. The method as set forth in claim 17, wherein said step d) includesthe steps of: d-1) receiving a command for notification of there-sending of said specific contents information from said contentsprovider server; and d-2) after said re-sending notification command isreceived, reproducing said specific contents information re-sent fromsaid contents provider server together with said data read from saidinteractive optical disc while re-synchronizing it with said data readfrom said interactive optical disc.
 23. The method as set forth in claim17, wherein said contents information sent from said contents providerserver is audio data, and said data read from said interactive opticaldisc includes video data.
 24. The method as set forth in claim 1,wherein said contents information sent from said contents providerserver is audio data, and said data read from said interactive opticaldisc includes video data.
 25. A method for providing contentsinformation in a contents provider server, comprising the steps of: a)sending offset table information regarding contents information whosesending is requested by an interactive optical disc device connected viathe Internet; b) if the sending of said offset table information iscompleted, sequentially sending said contents information whose sendingis requested by said interactive optical disc device; c) if the sendingof said requested contents information is suspended or delayed,receiving a command for requesting re-sending of specific contentsinformation, from said interactive optical disc device; and d)re-sending said specific contents information to said interactiveoptical disc device in response to said command.
 26. The method as setforth in claim 25, wherein said sent contents information is audio datato be reproduced synchronously with video data read from an interactiveoptical disc in said interactive optical disc device.
 27. The method asset forth in claim 25, wherein said offset table information includesplayback time information, offset information of data read from aninteractive optical disc and contents information offset information ina linked manner.
 28. The method as set forth in claim 25, wherein saidcommand for requesting the re-sending of said specific contentsinformation includes a parameter, said parameter being informationregarding said specific contents information.
 29. The method as setforth in claim 28, wherein said step d) includes the steps of: d-1)seeking a position of data corresponding to said information regardingsaid specific contents information; d-2) sending a command fornotification of the re-sending of said specific contents information tosaid interactive optical disc device; and d-3) reading said specificcontents information at said position and re-sending it to saidinteractive optical disc device.